数据库原理课程设计报告(学生会管理系统)_第1页
数据库原理课程设计报告(学生会管理系统)_第2页
数据库原理课程设计报告(学生会管理系统)_第3页
数据库原理课程设计报告(学生会管理系统)_第4页
数据库原理课程设计报告(学生会管理系统)_第5页
已阅读5页,还剩17页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库原理课程设计报告——学生会管理系统学院:班级:计科0901学号:姓名:指导老师:完成时间:1、需求分析所用的工具:SQLServer2000数据库简介SQLServer是大型的关系数据库,适合重型企业使用。它建立于Windows的可伸缩性和可管理性之上,提供功能强大的客户/服务器平台。随着SQLServer产品性能的不断扩大和改善,已经在数据库系统领域占有非常重要的地位。SQLServer使用TransactSQL语言来维护,实现和访问数据库,TransactSQL是SQL的一个子集标准。SQLServer有多种实现程序允许用户来访问它的服务,用户可以用这些实用程序对SQLServer进行本地管理或远程管理。SQLServer2000是建立在SQLServer7.0在可伸缩性、易用性、可管理性和数据仓库成功的基础上,并且引入了针对电子商务的重要新功能。在高性能和企业级可伸缩性领域,SQLServer2000设计成功利用Windows2000对更多处理器、更大的系统内存的支持,最终达到支持64位硬件平台。在不断提升可用性的努力过程中,SQLServer2000采用Windows2000四路群集,提供了大大改进的群集支持。SQLServer7.0已经在可管理性和易用性方面在行业内领先,SQLServer2000通过与Windows2000活动目录紧密结合进一步改进了这些功能。而且,SQLServer2000还包含对现有管理工具和实用程序的重大改进,并引入更具自我调节和自我管理的引擎功能。通过与OLAP服务、数据转换服务、存储库和英文查询的紧密结合,SQLServer7.0代表了行业内最全面的数据仓库和决策支持平台。SQLServer2000继续了这种创新,在整个系统内进行了重要的改进。特别重要的是,SQLServer2000关系引擎增加了实质化的视图,改善了在特大型数据库环境中执行复杂查询的性能。同时,SQLServer2000引入了新的数据挖掘功能,可自动发现在大量数据之间隐藏的关系并可基于历史数据做出预测。这些数据挖掘功能将要实施,以向最终用户隐藏这种尖端技术的复杂性,并允许开发人员将第三方的数据挖掘产品轻松地集成到客户的应用程序中。最后,在电子商务领域,SQLServer2000高度集成了对XML和通过Web访问数据库的支持。2、此次课程设计的题型及分析处理:学生会管理系统一.系统简要介绍:主要实现的功能是对学生会的成员和活动等基本信息进行管理,包括浏览成员信息、活动信息,查询和统计一些成员、活动数据,修改成员活动信息等。二.本系统由四张表组成,表结构如下:成员表:{成员编号,姓名,性别,班级,,部门编号}部门表:{部门编号,部门名称,部门人数,部门介绍}活动表:{活动编号,活动名称,,活动地点}组织活动表:{部门编号,活动编号}(加下划线的是每个表的主键)三.表间关系说明:一个成员属于一个部门,一个部门包括多个成员;一个活动可由多个部门共同组织,一个部门可参与组织多个活动。四.E-R图如下(属性略去):nnmm1成员表活动表部门表组织属于根据表结构,可以将表完全。完整图如下(包含属性):成员表成员表学生编号姓名性别班级部门编号属于部门表部门编号部门名称部门人数组织活动表活动编号活动名称活动类型活动地点活动编号部门编号五.各表的简单介绍和创建代码:1.成员表Member字段含义字段名称字段类型成员编号membernoCHAR(10)姓名membername VARCHAR(20)性别sex VARCHAR(2)班级classVARCHAR(20)部门编号deptnoCHAR(10)创建成员表:CREATETABLEMember(memberno CHAR(10)PRIMARYKEY,membername VARCHAR(20)sex VARCHAR(2) class VARCHAR(20), deptno CHAR(10),FOREIGNKEY(deptno)REFERENCESDept(deptno));2.部门表Dept字段含义字段名称字段类型部门编号deptnoCHAR(10)部门名称deptnameVARCHAR(20)部门人数membercountCHAR(10)创建部门表:CREATETABLEDept( deptno CHAR(10)PRIMARYKEY, deptname VARCHAR(20)NULL,membercountVARCHAR(20) );3.活动表Activity字段含义字段名称字段类型活动编号activitynoCHAR(10)活动名称activitynameVARCHAR(20)活动类型activitytypeVARCHAR(20)活动地点activityplaceVARCHAR(20)创建活动表:CREATETABLEActivity( activityno CHAR(10)PRIMARYKEY, activityname VARCHAR2(20),activitytypeVARCHAR2(20), activityplace VARCHAR2(20),);4.活动组织表字段含义字段名称字段类型部门编号deptnoCHAR(10)活动编号activitynoCHAR(10)创建活动组织表:CREATETABLEOrganize( deptno CHAR(10), activityno CHAR(10),PRIMARYKEY(deptno,activityno),FOREIGNKEY(deptno)REFERENCESDept(deptno),FOREIGNKEY(activityno)REFERENCESActivity(activityno));返回其所有行:Member的数据:memberno membername sex class deptno0001 小芳 0 2 30002 小云 0 1 50003 圆圆 0 1 40004 小翔 1 2 10005 小菲 0 1 30006 小龙 1 3 60007 小锋 1 2 2 Dept的数据:deptno deptname membercount1 一部 1002 二部 1003 三部 1004 四部 1005 五部 1006 六部 100 Activity的数据:activityno activityname activitytype activityplace001 庆典 校级 学校002 运动会 院级 学校003 拔河比赛 院级 学校004 植树 院校 学校005 舞会 院级 学校 Organize的数据deptno activityno3 0011 002六.Insert插入数据1.部门表数据(最先插入,否则成员表和活动组织表会因为外键约束无法插入):insertintodeptvalues('8','主席团',3);则dept表变为deptno deptname membercount1 一部 1002 二部 1003 三部 1004 四部 1005 五部 1006 六部 1008主席团3insertintodeptvalues('9','文艺部',4);deptno deptname membercount1 一部 1002 二部 1003 三部 1004 四部 1005 五部 1006 六部 1008主席团39文艺部4insertintodeptvalues('10','学习部',3');deptno deptname membercount1 一部 1002 二部 1003 三部 1004 四部 1005 五部 1006 六部 1008主席团39文艺部410学习部32.成员表数据:insertintomembervalues('0011','刘钟毅','1','2','01');memberno membername sex class deptno0001 小芳 0 2 30002 小云 0 1 50003 圆圆 0 1 40004 小翔 1 2 10005 小菲 0 1 30006 小龙 1 3 60007 小锋1 2 20011刘钟毅1201insertintomembervalues('0012','孙悟空','1','2','01');memberno membername sex class deptno0001 小芳 0 2 30002 小云0 1 50003 圆圆 0 1 40004 小翔 1 2 10005 小菲 0 1 30006 小龙 1 3 60007 小锋 1 2 20011刘钟毅12010012孙悟空1201insertintomembervalues('0013','姜鸥航','0','2','01');memberno membername sex class deptno0001 小芳 0 2 30002 小云 0 1 50003 圆圆 0 1 40004 小翔 1 2 10005 小菲 0 1 30006 小龙 1 3 60007 小锋 1 2 20011刘钟毅12010012孙悟空12010013姜欧航02013.活动表数据:insertintoactivityvalues(‘011','NCAA','校级','校体育馆');activityno activitynameactivitytypeactivityplace001 庆典 校级 学校002 运动会 院级 学校003 拔河比赛 院级 学校004 植树 院校 学校005 舞会 院级 学校011NCAA校级校体育馆insertintoactivityvalues('012','经验交流会','院级’,’教室');activityno activityname activitytype activityplace001 庆典 校级 学校002 运动会 院级 学校003拔河比赛 院级 学校004植树 院校 学校005舞会 院级 学校011NCAA校级校体育馆012经验交流会院级教室insertintoactivityvalues('13','羽毛球赛','校级','校体育馆');activityno activityname activitytype activityplace001 庆典 校级 学校002 运动会 院级 学校003 拔河比赛 院级 学校004 植树 院校 学校005 舞会 院级 学校011NCAA校级校体育馆012经验交流会院级教室013羽毛球赛校级校体育馆4.活动组织表数据(在部门表和活动表数据之后插入,否则会因为外键约束无法插入):insertintoorganizevalues('2','005');deptno activityno3 0011 0022005insertintoorganizevalues('2','002');deptno activityno3 0011 00220052002insertintoorganizevalues('3','011');deptno activityno3 0011 002200520023011七.索引:建立索引遵循的规律:1.建立在where子句经常引用的列上,2.经常需要排序的列上,3.连接属性列上等createindexorganize_indexonorganize(deptno,activityno);--组织活动表上建立组合索引createindexdept_indexondept(deptno);--部门表在部门编号字段上建立索引createindexmember_indexonmember(memberno);--成员表在成员编号字段上建立索引createindexactivity_indexonactivity(activityno);--活动表在活动编号字段上建立索引八.查询数据1.查询三部都参与组织了哪些活动selectactivityno,activitynamefromactivitywhereactivitynoin(selectactivitynofromorganizewheredeptno=(selectdeptnofromdeptwheredeptname='三部'))2.查询每个部门的平均年龄,并按平均年龄降序排列。selectdeptname部门名称,avg(extract(yearfromsysdate)-extract(yearfrombirthday))平均年龄frommemberinnerjoindeptonmember.deptno=dept.deptnogroupbydeptnameorderby2desc3.查询男生人数超过所在部门总人数一半的部门selectdept.deptno部门号,max(deptname)名称,max(membercount)人数fromdeptinnerjoinmemberondept.deptno=member.deptnogroupbydept.deptnohaving(selectcount(*)frommemberwheresex='男'anddeptno=dept.deptno)>0.5*count(*)4.查询和小芳在同一个部门但是年龄比她小的成员的基本信息selecta.memberno,a.membername,a.sex,a.class,a.birthday,a.entertimefrommemberainnerjoinmemberbona.deptno=b.deptnowherea.birthday>b.birthdayandb.membername='小芳'九、元组的插入、删除、修改元组的插入如上元组的删除DELETEFROMMemberWHEREmemberno=’0006’;则其结果为:memberno membername sex class deptno0001 小芳 0 2 30002 小云 0 1 50003 圆圆 0 1 40004 小翔 1 2 10005 小菲 0 1 30007 小锋 1 2 20011刘钟毅12010012孙悟空12010013姜欧航0201元组的修改UPDATEMemberSETCLASS=CLASS+1其结果为:memberno membername sex class deptno0001 小芳 0 330002 小云 0 2 50003 圆圆 0 2 40004 小翔 1 3 10005 小菲 0 2 30007 小锋 1 3 20011刘钟毅13010012孙悟空13010013姜欧航0301或UPDATEDeptSETDEPTNO=’9’WHEREDEPTNO=’2’;UPDATEMemberSETDEPTNO=’9’WHEREDEPTNO=’9’;其结果为:memberno membername sex class deptno0001 小芳 0 330002 小云0 2 50003 圆圆 0 2 40004 小翔 1 3 10005 小菲 0 2 3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论