还剩33页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
吕梁学院计算机科学与技术系《数据库原理》数据库设计设计题目教学管理系统专业班级计算机科学与技术1401班小组编号第五组指导教师刘书臣二〇一五年十二月三十日前言数据库技术是计算机科学技术发展最快,应用最为广泛的技术之一其在计算机设计,人工智能,电子商务,企业管理,科学计算等诸多领域均得到了广泛的应用,已经成为计算机信息系统和应用的核心技术和重要基础随着信息技术的飞速发展信息化的大环境给各成人高校提出了实现校际互联国际互联实现静态资源共享动态信息发布的要求;信息化对学生个人提出了驾驭和掌握最新信息技术的素质要求;信息技术提供了对教学进行重大革新的新手段;校园网信息系统建设的重要性越来越为成人高校所重视利用计算机支持教学高效率,完成教学管理的日常事务,是适应现代教学制度要求、推动教学管理走向科学化、规范化的必要条件;而教学管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大,不允许出错,如果实行手工操作,每月须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行教学管理工作,不仅能够保证各项准确无误、快速输出,而且还可以利用计算机对有关教学的各种信息进行统计,同时计算机具有手工管理所无法比拟的优点例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等这些优点是教学的科学化管理与世界接轨的件在软件开发的过程中,随着面向对象程序设计和数据库系统的成熟,数计成为软件开发的核心,程序的设计要服从数据,因此教学管理系统的数据库设计尤其重要本文主要介绍教学管理系统的数据库方面的设计,从需求分析到数据库的运行与维护都进行详细的叙述本文的分为4章:第1章主要是对数据库的需求方面进行分析第2章是对数据库系统的具体设计第3章是对数据库系统的具体实现流程第4章是输入数据,对系统运行进行检测关键词SQL语言;数据库设计;学生成绩管理系统目录第一部分基本情况与内容3第二部分课程设计内容4第一章需求分析4
一、数据库前台设计18
二、数据库系统采用的架构18
三、数据库系统设计191概念设计192逻辑设计20第三章数据库系统实现21
一、系统流程图21
一、应用领域的分析随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用作为计算机应用的一部分,使用计算机对学生成绩信息进行管理,有着手工管理所无法比拟的优点例如检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等这些优点能够极大地提高学生成绩管理的效率因此,开发一套成绩管理系统成为很有必要的学生成绩管理系统提供了强大的学生成绩管理管理功能,方便系统管理员对学生成绩等信息的添加、修改,等操作,同时一样的方便学生对自己各科成绩查询,学习的交流开发一个学生成绩管理系统,采用计算机对学生成绩进行管理,进一步提高了办学效益和现代化水平为教师和学生提高工作效率,实现学生成绩信息管理工作流程的系统化,规范化和自动化在今天信息时代传统的管理方法必然会被计算机为基础的信息管理系统所代替,一个高效的学生成绩管理系统可以存储历届的学生成绩档案不需要大量的人力,只需要几名专门录入员即可操作系统,节省大量人力,可以迅速查到所需信息、高效、安全、学生在能方便的查看自己的成绩学生成绩管理系统的主要目的就是利用软件实现成绩的录入、查询、修改等功能,是教师丢学生成绩的管理更加容易,提高工作效率、降低管理成本学生成绩的管理一般分为成绩查询和成绩维护两部分,在实际的教学过程中,学生主要对成绩进行查询,了解自己的成绩情况,而教师除了能够对成绩查询之外,还要对成绩进行录入,修改等操作对于整个系统而言,为了便于对各种数据进行维护,还要增设管理员的权限,方便对学生和教师信息的维护,从而达到灵活的管理学生成绩的效果因此从安全角度考虑,有必要针对不同的用户对数据的访问与编辑进行控制其中学生只能对成绩查询,不允许修改和删除成绩教师可以录入成绩,并可以修改已有的成绩,同时,教师也应该能够对成绩进行查询,以便了解整个教学情况管理员可以对整个系统进行维护,需要管理员进行维护可能因为3种情况一种是用户忘记密码,这是需要管理员对密码进行重置;另一种情况是某些数据由于人为的原因造成错误,这是需要管理员强制进行修改;还有一种情况是对学生信息、课程信息和教师信息一些基本信息的添加与修改等
二、数据库系统应支持的信息和应用目标和功能在整个系统中,有3种用户角色,分别是学生、教师和系统管理员他们所具有的操作权限如下●学生所具有的操作权限学生可以查询自己的成绩,也可以查看其他同学的成绩但不允许修改成绩,也不允许删除成绩在3种用户角色中,学生的权限是最小的,只限于查询成绩的操作●教师所具有的操作权限教师除拥有学生所具有的成绩查询的权限外,还可以录入学生成绩,修改、删除学生的成绩●系统管理员所具有的操作权限系统管理员具有最高权限,可以对所有数据进行修改或删除对用户信息的管理,包括密码重置、用户的增加与删除对基本数据的管理,包括学生表、课程表、教师表和成绩表的添加、修改和删除功能需求分析如下系统登录用户输入用户名和密码,系统查询数据库中的信息对密码进行验证如果密码不正确将不能进入系统如果密码正确,系统会自动根据该用户所具有的权限进入不同界面系统管理修改密码对于任何用户,包括学生、教师和系统管理员都可以对自己的密码进行重新设置●用户管理只针对管理员才能进行操作,管理员可以查看用户状态,当教师或学生忘记密码时能够找回其密码,并且能添加、删除用户,修改用户权限3.基本信息管理●学生管理能够对学生的一些基本信息进行添加、修改、删除等操作学生的基本信息包括学生编号、姓名、性别、年龄、电话号码和地址等●教师管理能够对教师的一些基本信息进行添加、修改、删除等操作教师的基本信息包括教师编号、教师姓名、性别、年龄、职称等●课程管理能够对课程的一些基本信息进行添加、修改、删除等操作课程的基本信息包括课程编号、课程名称、该门课的学时及学分●授课管理能够对教师授课的情况进行管理包括添加、修改和删除等操作当教师准备教授课程时要记录到数据库中,方便今后对课程、教师等有关信息的查询●成绩管理能够对成绩的情况进行管理,该部分是系统最主要的功能当一门课的成绩结果公布时,要相应的记录到数据库中,这样,学生和教师才能够进行成绩的查询4信息查询●成绩查询可以按照学生查询,查询某个学生参加所有的课程的成绩,并且可以进一步查询该学生成绩情况,如所有及格的课程和不及格的课程,学生还能够查询出所修的总学分,以便今后安排好课程也可以按照课程查询,查询参加该门课程学生的所有成绩,以及统计该门课的最高分、最低分、平均分以及通过率、优秀率等信息●授课查询可以查询某个教师所教授的所有课程情况,也可以查询某门课都有哪些教师教授过
三、下图是定义数据库需要进行数据处理的流程图
四、定义数据项时需要的数据信息:用户编号、用户名、用户名、密码、学生编号、学生姓名、性别、年龄、电话、住址、教师编号、教师姓名、性别、教师年龄、教师职称、课程编号、课程名称、学时、学分、授课记录号、成绩记录号、成绩
五、预测数据库系统未来可能的扩展通过此次课程设计我们认为数据库未来的发展前景广阔从企业IT架构体系上来看,特别是对于Web20网站来说,必须考虑的就是可扩展性随着使用人数的增多,能够及时的扩展IT系统的能力解决这个问题,通常有两种解决方式Scale up和Scale out,两种扩容的方式分别从两个维度来解决数据库压力Scale Out横向扩展从字面意思来看,Scale Out是使用靠增加处理器来提升运算能力和增加独立服务器来增加运算能力就是指企业可以根据需求增加不同的服务器和存储应用,依靠多部服务器、存储协同运算,借负载平衡及容错等功能来提高运算能力及可靠度Scale Up纵向扩展指企业后端大型服务器以增加处理器等运算资源进行升级以获得对应用性能的要求,但是更大更强的服务器同时也是更昂贵的,往往成本会大于部署大量相对便宜的服务器来实现性能的提升,这当中的代表当属IBM zSeries大型机而且服务器性能所能提高的程度也有一定的上限Scale Up劣势渐现目前来看,一般来讲Scale out要比Scale up便宜各大搜索引擎普遍采用普通x86服务器+Linux组成的scale out架构,其它主流web服务也大多采用这种架构,例如Yahoo、Taobao、新浪等,而一些ERP厂商入用友近两年来也开始大量放弃价格昂贵的RISC架构从数据存储的角度来看,曾经当我们需要构架一个不断增长的大型数据中心时,Scale up存储系统几乎是最好的,唯一的的选择但是这也意味着当加入昂贵的存储设备时,业务需要中断且更难以管理当然,Scale up存储系统前端处理能力和后端的磁盘数量还可以不断扩展,但总体来说,都是在一个固定的存储系统架构上去升级扩展,当扩展到一定程度,就很难继续扩展下去,尤其是前端控制器的数量也因此导致了当后端磁盘不断增多,而前端控制器无法扩展的情况下产生的性能瓶颈Scale Out将是未来的企业架构现在,有了scale out存储系统,一切似乎变得简单多了部署工作大大简化,储存架构达到上亿级另Scale up架构每加一个结点进来,性能和容量同时增长,不会影响原有使用用户按需采购存储,一旦容量不够了,再购置一台接到原有存储上就可以了所以未来的企业架构应该使用向外扩展(Scale Out)来实现可扩展性,同时可以让使用者得以保留通过增加服务器以提升系统能力的后路从存储来看,未来的企业需要的是一个能够应对非结构化数据激增带来的巨大挑战的架构,横向扩展存储系统的基础是NAS空间,可以添加若干并行工作的节点并作为一个节点进行管理,从而实现吞吐量和容量的独立扩展在单一系统映像下,这些系统可以扩展到多个PB级存储,从而使它们成为理想的整合平台同时,横向扩展存储池可对底层存储进行虚拟化,创建可随业务需求变化而动态调整的资源,带宽、处理能力和存储容量可以单独调整和实时扩展这种资源创建概念对当前持续不断增加的企业基础设施获得更高的可用性和可靠性至关重要横向扩展存储有利于最大程度地降低管理成本、数据中心空间、电源和冷却需求共享资源池可提供更高的利用率,极大地减少浪费横向扩展存储的经济价值体现在改进扩展能力、加速配置、提升性能和简化管理、提高存储利用率等方面横向扩展存储系统克服了物理机架和模块的限制,可作为单一系统,通过增加控制器或是容量节点来实现性能和容量的独立升级,提高IT投入的回报率同时,线性扩展能力为业务的长期高性价比提供保障解决了传统单一系统,模块化系统需要物理磁盘级别的管理、数据布局和性能调优的弊端横向扩展平台不仅能够提升性能而且还可以降低操作成本,使单一系统在单一全局域名下,简单地扩展到若干PB容量范围,成为管理猛增数据的理想存储平台2011年,由于企业IT用户对其存储系统的扩展性、灵活性和性能需求的增长,横向扩展的存储产品和方案不断涌现EMC、HDS和NetApp都已经推出扩展性更好的X86的解决方案,如EMC的VMAX平台SAN和Isilon 产品(多协议);HDS的USP-V SAN、VSP introduction SAN和 HNAS BlueArc-based NAS 系统;以及NetApp的GX now ONTAP 8 Cluster Mode NAS系统;而国内厂商华赛也在去年推出自己的平面扩展产品HS的OceanSpace 5000同时,IBM的DS8000系列所构成的系统也具有横向扩展的特征在开源软件方面,也有许多横向扩展存储解决方案,比如Lustre PVFS2 GlusterFS等集群文件系统,HDFS KFS MFSFastDFS TaobaoFS等分布式文件系统横向扩展的瓶颈问题是现实的问题,如果要实现Scale out架构必然要面对分布式计算的问题,而目前基于分布式计算的解决方案已经有很多,比如Hadoop、Mapr等等,但问题也在于,基于分布式计算的性能优化一直是企业未能大量采用的瓶颈之一其次,Scale Out方案还需要对原先是用的软件进行大量的重写工作,以保证系统能在分布式服务器上运行(Scale Up方案则对现有软件几乎没有改动要求)这一步往往是每个公司的开发人员的噩梦再者,Scale Out方案始终面临着数据集中的问题,即拆分过的数据在服务器逻辑体系中仍然是各自相对集中的而非无限随意拆分如果大量的逻辑放在传统的数据库服务器一端,数据库服务器将会使得系统失去Scale out的能力和可能因此,要保证Scale out的能力就必须保证数据库只处理实质性的数据提交和不可避免的数据查询,这也是以MongoDB、Redis等全新的NoSQL解决方案日渐受到青睐的原因对于分布式计算的技术问题,国外有一些开源的项目,我们可以借鉴,在一定程度上可以去努力解决与此同时,我们还需要考虑到我们自身网站的数据的特点像联机游戏、IM、BSP这些数据,通常每个用户都可以抽象成一个数据对象,可以独立存储在任何一个地方,数据之间关联度不大,这种情况比较适合采用 Scale Out的方式但对于另外一些数据,比如电子商务网站的买卖信息,它们之间的关联度大,这时候往往查询需要耗费很多的资源;还有一些事物型的应用,保证数据的完整性是更为重要的,在这个时候,采用Scale Out的方式不一定适合从整体上看,采用Scale out的方式是web20网站的主流,适应了网站数据不断且不太好预计增长的主要需求,而Scale up这种方式更为适合业务数据具有较强关联性且数据增长可预期的企业数据管理行业今后几年酝酿的产品以及推进DB2优先发展的动力复杂因素当今的公司正面临不断增加的数据管理工作的挑战越来越多的商务程序实现了自动化;更多的历史记录和分析工作被捕获并保存下来;新的规章制度正在改变商业模式简言之,数据量在不断增加用于处理孤立程序的专用系统必须连接起来以生成报表例如,兼并和收购迫使商务程序(风险分析)和数据(客户信息)进行集成不同的商业单位必须共享信息以获得新的收入增长点,而公司也必须与商业伙伴、供应商和客户交流信息全球商务意味着管理分布式数据库并提供全天候的可用性成本居高不下、经济停滞、竞争压力增加迫使企业提高运行效率,这通常意味着员工数量减少,同时管理的数据维护及访问任务的复杂性日益增加当数据管理所带来的挑战日益增加时,信息的重要性就被提升到前所未有的高度各种形式的信息——数据库、电子数据表、文档管理系统、文本文件、网页、图表和图像——就成为企业共同的财富因此,对数据库和其他各种来源的数据进行管理的需求,以及为非IT专家的商业用户提供更便捷的方式访问这些数据的需求都在日益增加更好的引擎更多的数据需要存储、更多的业务需要处理、更多的分析需要完成,而且没有喘息时间,这些都期待着所有的数据管理要素继续改进载入和检索速度研究具有更快的载入和检索速度的存储方法仍将打头阵快速数据访问研究包括新型索引(例如,能够迅速适应新数据类型的通用索引结构)采用多维聚簇加速访问多维数据,该技术已在DB2 Universal Database UDB v81中应用并将在后续的版本中继续使用IBM 不断研发不同的存储方案以增加数据聚簇速度并加强对大对象的控制能力对大量数据的高效查询解决海量业务数据高效处理和复杂查询的工作也正在进行中例如,IBM Almaden 研究中心开发了一种新方法,它通过采样获得数据的随机子集并根据该样本估计或外推解答,使系统能够更快地为复杂查询提供近似解答该技术已应用在DB2 UDB v81 测试基础版中采样将以更快的速度获得更好的统计信息,帮助优化和不同的设计顾问此外,为提高带有大量子查询和复杂操作内容(例如和外部关联和反关联)的查询性能所做的相关改进工作也在进行中,有望在某些类型的查询上取得重大飞跃用以储存针对高频次查询的预先计算解答的具体化查询列表(MQT)可能被更广泛地采纳目前MQT 已经可用,并且正在扩展以储存更多的一般性查询解答例如,DB2 v81 能够储存关联结果,即使查询中并无集合体查询引擎能够更好地自主决定何时使用MQT 解答当前查询用于提示系统何时创建MQT 可能奏效的工具已出现将来,数据库系统能够自主创建MQT,并用于索引(如关联检索)和常用结果缓存中当用于连接远程数据时(v81已采用),MQT 将发挥更大的作用在大共享内存和非共享多处理器中,你将获得更多的分割数据(分区)选择和处理查询的新算法提高可用性业务压力要求适应更多环境的高可用性热备用系统瞬时切换已成为高端配置的标准,并将更为普及总之,用户可以从一系列的“服务质量”承诺中选择在性能、可用性以及费用之间所需的权衡同时,通过使用减少冗余硬件和备份信息,研究和开发人员将使那些权衡更容易实现IBM 还在研究对存在的问题进行早期探测和自动更正分布式商务模型关于电子商务的需要已有很多著述如今,越来越多的公司使用Web服务器、应用、J2EE、NET 和XML的复杂混合体在网上从事商务活动在该环境内外获取数据通常需要通过诸如JDBC 这样的接口实现数据访问,并将结果转换为XML,然后将XML 打包作为Web服务响应目前,可以这种方式转移数据,但这确实有些令人乏味将来,数据库会被更加直接地植入Web,使其成为Web应用基础架构的无缝元件数据管理和Web服务数据库早已成为Web服务供应商,通过Web服务接口应答请求不久它也将成为Web服务的消费者也就是说,在查询过程中,它能够调用Web服务以返回所需信息例如,在一次单步查询中,用户可以查找一个包含本地储存状况描述、首选供应商(从不同的本地列表)、可用性及价格信息的零件(通过Web服务发出向供应商的请求并返回当前信息)DB2 早已显示出这种能力目前,你不得不通过用户定义的函数在SQL 语句中明确地调用Web服务,照此发展,你甚至可以将Web服务视为列表的别名从而能够透明地访问应用开发和部署工具将随技术而发展XML支持数据及处理集成的基础即是对XML 的稳定性支持,包括支持XML 作为基本的数据类型XML Extender 允许用户保存和检索XML数据,通过它DB2能够支持XML将来,IBM 会在引擎中引入更多的这种支持以优化访问目前,通过对SQL 语言SQL/XML的标准化扩展,可以将关系数据以XML 文件的形式返回由此,可将数据以电子商务业务中数据交换所需的类型返回,所交换的文档可在RDBMS 中安全储存双语数据库尽管XML 显然将成为电子商务数据交换的标准,关系数据库并不会从此消失仅支持XML 的数据库并不能代替无处不在的关系系统,一部分原因是将全部数据进行转换所需的费用,另一部分原因是比XML 数据库更为成熟的关系技术的出现相反,未来的数据库能够为XML 提供全面的关系能力和真正的本地支持它们将在引擎中构建支持XML 的存储管理和检索工具,而且既可使用XML 语言查询即XQuery 又可使用SQL这种双语数据库可使用户按需要同时利用关系和XML 的优势,以实施其最佳应用IBM Xperanto 团队正在从事此项工作分布式数据信息集成你已经了解到XML 和Web 服务是如何帮助你处理复杂的分布式商务模型它们提供了一种分布式数据的集成方法在不同的应用或企业之间交换数据不过,有时却需要更为精细的数据集成如今的企业通常是高度分布的,某个职能部门可能分散于好几个地点某大型制药公司可能在几个不同国家都有研究实验室,实验室里的科学家们则需要共享实验和仿真信息IBM 的数据管理开发团队就分布在四个国家的七个地点,并在世界各地其他一些地方也有相关的研究机构开发者需要在这些不同工作地点之间共享所需的技术规范、代码、状态和信息独立的机构会选择不同的基础架构在某些盛行兼并和收购的行业里,功能相同的部门却拥有完全不同的IT 基础架构,这并不少见业务运转通常仍需在这些不同的地区和系统间共享信息信息集成有多种机制,包括基于应用的集成最常用的信息集成方法可能是通过使用专门的应用实现对感兴趣的资源的硬连接访问,然后手动合并查询结果应用集成框架、业务流程集成工作流程系统以及Web服务都为程序员提供高级提取服务,使其能够方便地从额外的来源获取数据当然,合并数据(即执行关联)仍需手动编程集中化的数据仓库对于那些需要复杂分析的应用,许多公司选择将需要的数据“拉入”(从数据来源处复制)单独的数据仓库(数据中心)这样做可以使SQL “全身心”地投入到分析中,并且也无需通过应用处理分散的数据数据联合造就虚拟数据库并不是所有的数据都能进入数据仓库有时数据变化太快,有时该数据不为本企业所有(如归其商业伙伴或某一信息服务机构所有),有时该数据的格式不对,不能存贮到关系型数据库系统中或被其搜索到这时DB2 数据仓库和数据中心就可大显其道,IBM 杰出的技术可将那些各自为政的异构型分布数据源联合起来数据联合让用户查询分布式数据时更为简便,就好像这些数据存贮在单一数据库中,同时应用也变得更简易并且拥有单一数据库的功能,而无需复制与维护成本通过数据联合,应用可将底层数据存放到查询中,使这些功能不被再次执行(如果数据实际移动,这些功能会执行)数据联合在客户机应用与数据之间增加了一个部件——层,这个特殊的层使得性能达到平衡在查询过程中,数据存贮在不同点(没有合并)将可能产生网络延迟借超级优化功能之东风,数据联合使得多种应用间的数据集成更为高效简捷未来各种模型的融合信息集成很有可能成为大多数公司追逐的热点,你也许可以看见不同的技术成熟并且融合某一特定集成问题的解决方案将涉及到数据仓库(用于可以存贮于关系型系统的关键数据)与数据联合(用于集成不适合数据仓库的数据)之间的集成丰富的元数据设施简化了从不同的数据源中映射、清除数据,同时简化了将数据关联在一起的过程它们将得到其它类型集成的补充(如上面提到的那些),并且这些集成之间能够协同工作挖掘工具、应用将与整个虚拟数据库共同工作,而不用考虑数据是在本地还是来自外部数据源缓存与查询处理得以加强,消除了性能之间的差异,使得用户真正受益网络计算,最大限度地利用分布式数据的发展动向,加上处理大型计算任务的需求及重新利用现有软硬件资源之渴望完美的网络计算环境将出现在你面前网络计算可以实现各自独立的异构软硬件资源之间的共享,同时降低总拥有成本并提供更加出色的性能、伸缩性,还支持数据共享与协作当急需提高功能时,你可以使一个节点在线,你就会想到强大的网络计算科学界一直利用网络计算处理“极具挑战的”难题,如蛋白质合成、天气预报、基因组分析及粒子物理等现在,各个行业中的企业也都在探索网络计算网络计算的优势在于削减了处理时间并优化了资源的使用同时,它也为随需应变的计算理念提供了坚实的基础架构网络计算的一个显著特点就是可以从不同的资源(计算机、数据库、存贮系统等)请求特定的服务这种特点成就了e-公用设施,它能够提供电子商务所需的复杂服务网络计算还可为协作提供基础架构(如在企业内大规模地集成信息),这在以前是不可能的由于在不同的节点多次复制数据,网络计算也提供了强大的伸缩性数据管理在网络计算中承担什么角色呢?网络计算实际上提供了一个虚拟计算机,以供应用运行在网络中单独的数据库系统可作为共享资源然而,数据管理的作用更为广泛我提到的联合数据库系列能够为虚拟计算机提供单独的虚拟数据库,因此通过标准数据库编程界面编写标准的数据库应用,应用就可以尽量利用网络的功能数据联合将发现并查询相关的数据源,并进行大规模的集成通过将不同的数据源作为非共享并行处理器中的节点,网络可使查询与数据计算进行得更快在网络环境中,需要对数据管理技术进行扩展网络具有动态的特性,新的数据源可在任何时候来去自如这种特性以及网络的规模,就意味着用户不知道在何处找到所需的数据这样就需要一些通过对所需进行内容进行描述来查找数据的方式找到数据源后,数据库联合应该能够自我配置,以便访问该数据源数据动态自动复制特性,能够应对负载失衡、停机及性能等一些问题,为网络用户提供更好的伸缩性、灵活性及性能自主系统人体是自主系统最生动的实例,它可以自身调节以适应外部环境如果温度过高,人体会出汗降温如果运动需要更多的氧气,人体就加快呼吸频率和心率自我恢复、自我调整、自我配置系统对网络必不可少;但“普通”的IT环境也会从此类系统中受益人力成本占数据库系统拥有成本的大部分DBA的工作职责繁重,包括数据逻辑设计、物理数据布局、物理访问结构决策、内存分配和性能调整、监控和调节随着数据库自主功能增强,DBA能够专注于更加复杂和感兴趣的问题,同时节省员工的时间和费用尽管这听起来像科学幻想,但已经迈出了第一步例如,DB2 UDB Configuration Advisor(数据库配置顾问)可减少甚至消除单调费时的系统配置任务,可满足希望的性能目标,并且无需频繁手工调整与性能有关的配置数据库系统设计
一、数据库前台设计数据库的前台设计为
①开发数据库软件SQLSERVER2008
②开发数据库架构C/S架构
③根据C/S架构和用户需求,选择实现语言为VC++
④用编程语言,并采用一种目前比较主流的数据接口ADO较容易开发有界面的数据库程序
二、数据库系统采用的架构系统的模块划分图如下,将系统分为4个大模块,每个模块负责的功能相对专一其中,用户身份验证模块提供对用户身份的验证,同时读取用户所具有的权限,只有具有管理员权限的用户才可以使用系统的所有功能本系统采用MFCODBC数据库访问技术实现对数据库的访问操作系统的最底层是数据库,本系统采用MicrosoftAccess作为后台数据库用户登录模块信息查询模块基本信息管理模块系统管理模块修改密码用户管理授课管理密码教师管理成绩管理密码课程管理密码授课查询密码成绩查询密码学生管理密码数据库数据库访问接口ODBC
三、数据库系统设计1概念设计在以上的系统分析基础上,设计出系统的E-R图,如图所示这要包括3个实体,分别是学生实体、教师实体、课程实体及两个关系,即授课关系和成绩一门课程可以有多个学生的成绩,一个学生也可以有多门课程的成绩,课程实体与学生实体是多对多的关系一个教师可以教授多门课程,一门课程也可以由多个不同的教师教授,课程实体与教师实体之间也是多对多的关系2逻辑设计在根据以上实体与实体的关系,形成表与表之间的逻辑关系,如下图所示coursecourse_idcourse_nocourse_namecourse_hourcourse_creditactive_statusstudentstudent_idstudent_nostudent_namestudent_sexstudent_agestudent_phonestudent_addressactive_statusteachteach_idcourse_noteacher_noactive_statusteacherteacher_idteacher_noteacher_nameteacher_sexteacher_ageteacher_levleactive_statusscorescore_idstudent_nocourse_noscoreactive_statususerinfouser_iduser_nameuser_passworduser_levelactive_status其中,成绩表通过学生编号与学生表联系起来,通过课程编号与课程表联系起来;授课表通过课程编号与课程表联系起来,通过教师编号与教师表联系起来数据库系统实现
一、系统流程图我们采用MicrosoftAcess做后台为数据库首先创建一个数据库,命名为studentscore具体流程图如下
二、数据库系统功能分析我们构建数据库时,首先对数据库的系统功能进行分析,现分析如下
1.用户登录模块用户登录模块实现对用户合法性的检查,读取相应用户权限,同时在登陆后根据用户权限显示不同的功能界面对于修改了权限的用户,只有在下次登陆的时候,才会起作用
2.系统管理模块系统管理分为普通用户(包括教师用户和学生用户)和管理员用户密码修改主要为了安全方面的考虑,应定期更改登录密码用户管理模块主要包括将用户信息的添加、修改和删除以及权限的设置等功能
3.基本信息管理模块基本信息管理模块主要包括对基本信息的添加、修改和删除等功能,这些基本包括学生信息、教师信息、课程信息、授课信息和成绩信息其中,学生信息、教师信息、课程信息对单个表进行添加、修改和删除操作,
4.信息查询模块信息查询模块包括成绩查询和授课查询,用户可以通过输入查询条件来进行查询由于这两个模块涉及到3个表的连接查询,所以并没有使用系统运行系统运行截图如下检测结果为系统运行正常参考文献清单如下:
[1]王珊《数据库系统概论》[M]北京高等教育出版社
[2]夏邦国《VisualC++数据库开发经典实例精解》[M]北京机械工业出版社
[3]姜代红《数据库原理及应用实用教程》[M]北京清华大学出版社
[4]加西亚-莫利纳《数据库系统实现》机械工业出版社[5DMKroenke《数据库处理--基础、设计与实现》(第七版)电子工业出版社
[6]唐红亮《SQLServer数据库设计与系统开发教程》清华大学出版社
[7]李玉林《SQL语言与数据库操作技术大全》电子工业出版社
[8]周定康《关系数据库理论及应用》华中科技大学出版社
[9]徐人凤《关系数据库基础》高等教育出版社
[10]史蒂芬森《数据库设计解决方案入门经典》清华大学出版社
[11]希尔伯沙茨《数据库系统概念》机械工业出版社
[12]唐红亮《SQLServer数据库设计与系统开发教程》
[13]王向云《SQL从入门到精通》电子工业出版社
[14]贝里《深入浅出SQL》东南大学出版社
[15]克兰《SQL技术手册》东南大学出版社数据库表的设计如下
1、用户信息表收集的数据源代码清单如下usestudentscorecreatetableuserinfouser_idchar9primarykeyuser_namechar50notnulluser_passwordchar50notnulluser_levelchar1notnulluser_statuschar2notnullcreatetablestudentstudent_idchar9primarykeystudent_nochar11notnullstudent_namechar10notnullstudent_sexchar2notnullstudent_agetinyintnotnullstudent_phonechar20notnullstudent_addresschar100notnullstudent_statuschar2notnullcreatetableteacherteacher_idchar9primarykeyteacher_nochar6notnullteacher_namechar10notnullteacher_sexchar2notnullteacher_agetinyintnotnullteacher_levelchar6notnullteacher_statuschar2notnullcreatetablecoursecourse_idchar9primarykeycourse_nochar6notnullcourse_namechar20notnullcourse_hourtinyintnotnullcourse_credittinyintnotnullcourse_statuschar2notnullcreatetableteachteach_idchar9primarykeycourse_nochar6notnullteacher_nochar6notnullactive_statuschar2notnullcreatetablescorescore_idchar9primarykeystudent_nochar6notnullcourse_nochar6notnullscoretinyintnotnullcourse_creditchar2notnullinsertintouserinfovalues201300001浪迹天涯1234561Y201300002天涯海角6543212Y201300003无怨无悔4567890Ninsertintostudentvalues20130000420131106201王建男2115845678921山东省济南N20130000520131106204赵二男2115789456823山西省太原N20130000620131106203王红女2213756984521陕西省西安N20130000720131106205毛东男2313125698745甘肃省兰州N20130000820131106208张明男2015987456632东北省黑龙江Ninsertintoteachervalues201300009199711王国庆男35教授Y201300010200011宋美容男56副教授Y201300011200012张忠民男35讲师Y201300012200013李建华男45教授Y201300013200314王丽丽女65副教授Yinsertintocoursevalues201300014110001数据结构454Y201300015110002高等数学403Y201300016110003数据库503Y201300017110004c语言404Y201300018110005计算机基础352Yinsertintoteachvalues201300019110001199711Y201300020110002200011Y201300021110003200012Y201300022110004200013Y201300023110005200314Yaltertablescorealtercolumnstudent_nochar11insertintoscorevalues2013000242013110620111000188Y2013000252013110620111000265Y2013000262013110620111000386Y2013000272013110620111000488Y2013000282013110620111000599Yselect*fromteacherselectstudent_idstudent_namefromstudentselectCOUNT*as用户人数fromuserinfoselectUSER_NAMEfromuserinfowhereuser_status=YLVLIANGUNIVERSITY题目学生成绩管理系统同组队员信息学号姓名专业课题负责部分学生1(组长)20141103124王变玲计算机科学与技术第一章学生220141103121牛瑞瑞计算机科学与技术第一章学生320141103122史卓鑫计算机科学与技术第二章学生420141103123孙丹丹计算机科学与技术第三章学生520141103125王枫计算机科学与技术第四章userinfo表名称名称描述类型位数属性user_id用户编号char9主键user_name用户名char50主索引,非空user_password密码char50非空user_level用户权限char1非空user_status是否在用,Y在用,N不用char2非空
2、学生表student表名称名称描述类型位数属性student_id学生记录号char9主键student_no学生编号char11主索引,非空student_name学生姓名char10非空student_sex学生性别char2非空student_age学生年龄tinyintnull非空student_phone电话号码char20student_address地址char100student_status是否在用,Y在用,N不用char2非空
3、教师表teacher表名称名称描述类型位数属性teacher_id教师记录号char9主键teacher_no教师编号char6主索引,非空teacher_name教师姓名char10非空teacher_sex教师性别char2非空teacher_age教室年龄tinyint2非空teacher_level教师职称char6非空teacher_status是否在用,Y在用,N不用char2非空
4、课程表course表名称名称描述类型位数属性course_id课程记录号char9主键course_no课程编号char6主索引,非空course_name课程名称char20非空course_hour学时tinyint2非空course_credit学分tinyint2非空course_status是否在用,Y在用,N不用char2非空
5、授课表teach表名称名称描述类型位数属性teach_id授课记录号char9主键course_no课程编号char6索引,非空,外键teacher_no教师编号char6索引,非空,外键active_status是否在用,Y在用,N不用char2非空
6、成绩表score表名称名称描述类型位数属性score_id成绩记录号char9主键student_no学生编号char11索引,非空,外键course_no课程编号char6索引,非空,外键score成绩tinyint3非空score_status是否在用,Y在用,N不用char2非空userinfo表user_iduser_nameuser_passworduser_leveluser_status201300001浪迹天涯1234561Y201300002天涯海角6543212Y201300003无怨无悔4567890Nstudent表student_idstudent_nostudent_namestudent_sexstudent_agestudent_phonestudent_addressstudent_status20130000420131106201王建男2115845678921山东省济南N20130000520131106204赵二男2115789456823山西省太原N20130000620131106203王红女2213756984521陕西省西安N20130000720131106205毛东男2313125698745甘肃省兰州N20130000820131106208张明男2015987456632东北省黑龙江Nteacher表teacher_idteacher_noteacher_nameteacher_sexteacher_ageteacher_levelteacher_status201300009199711王国庆男35教授Y201300010200011宋美容男56副教授Y201300011200012张忠民男35讲师Y201300012200013李建华男45教授Y201300013200314王丽丽女65副教授Ycourse表course_idcourse_nocourse_namecourse_hourcourse_creditcourse_status201300014110001数据结构454Y201300015110002高等数学403Y201300016110003数据库503Y201300017110004c语言404Y201300018110005计算机基础352Yteach表teach_idcourse_noteacher_noactive_status201300019110001199711Y201300020110002200011Y201300021110003200012Y201300022110004200013Y201300023110005200314Yscore表score_idstudent_nocourse_noscorescore_status2013000242013110620111000188Y2013000252013110620111000265Y2013000262013110620111000386Y2013000272013110620111000488Y2013000282013110620111000599Y4。