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

下载本文档

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

文档简介

1、.数据库原理课程设计报告学生会管理系统学院:班级:计科0901学号:姓名:指导老师:完成时间:1、需求分析所用的工具:SQL Server 2000 数据库简介SQL Server是大型的关系数据库,适合重型企业使用。它建立于Windows的可伸缩性和可管理性之上,提供功能强大的客户/服务器平台。随着SQL Server产品性能的不断扩大和改善,已经在数据库系统领域占有非常重要的地位。SQL Server使用Transact SQL语言来维护,实现和访问数据库,Transact SQL是 SQL 的一个子集标准。SQL Server有多种实现程序允许用户来访问它的服务,用户可以用这些实用程序对

2、SQL Server进行本地管理或远程管理。SQL Server 2000是建立在 SQL Server 7.0 在可伸缩性、易用性、可管理性和数据仓库成功的基础上,并且引入了针对电子商务的重要新功能。在高性能和企业级可伸缩性领域,SQL Server 2000 设计成功利用 Windows 2000 对更多处理器、更大的系统内存的支持,最终达到支持 64 位硬件平台。在不断提升可用性的努力过程中,SQL Server 2000 采用 Windows 2000 四路群集,提供了大大改进的群集支持。SQL Server 7.0 已经在可管理性和易用性方面在行业内领先,SQL Server 200

3、0 通过与 Windows 2000 活动目录紧密结合进一步改进了这些功能。而且,SQL Server 2000 还包含对现有管理工具和实用程序的重大改进,并引入更具自我调节和自我管理的引擎功能。通过与 OLAP 服务、数据转换服务、存储库和英文查询的紧密结合,SQL Server 7.0 代表了行业内最全面的数据仓库和决策支持平台。SQL Server 2000 继续了这种创新,在整个系统内进行了重要的改进。特别重要的是,SQL Server 2000 关系引擎增加了实质化的视图,改善了在特大型数据库环境中执行复杂查询的性能。同时,SQL Server 2000 引入了新的数据挖掘功能,可自

4、动发现在大量数据之间隐藏的关系并可基于历史数据做出预测。这些数据挖掘功能将要实施,以向最终用户隐藏这种尖端技术的复杂性,并允许开发人员将第三方的数据挖掘产品轻松地集成到客户的应用程序中。最后,在电子商务领域,SQL Server 2000 高度集成了对 XML 和通过 Web 访问数据库的支持。2、此次课程设计的题型及分析处理:学生会管理系统一.系统简要介绍:主要实现的功能是对学生会的成员和活动等基本信息进行管理,包括浏览成员信息、活动信息,查询和统计一些成员、活动数据,修改成员活动信息等。二.本系统由四张表组成,表结构如下:成员表:成员编号,姓名,性别,班级,部门编号部门表:部门编号,部门名

5、称,部门人数,部门介绍活动表:活动编号,活动名称,活动地点组织活动表:部门编号,活动编号(加下划线的是每个表的主键)三.表间关系说明:一个成员属于一个部门,一个部门包括多个成员;一个活动可由多个部门共同组织,一个部门可参与组织多个活动。四.E-R图如下(属性略去):nmm1成员表活动表部门表组织属于根据表结构,可以将表完全。完整图如下(包含属性):成员表学生编号姓名性别班级部门编号属于部门表部门编号部门名称部门人数组织活动表活动编号活动名称活动类型活动地点活动编号部门编号五.各表的简单介绍和创建代码: 1.成员表Member字段含义字段名称字段类型成员编号membernoCHAR(10)姓名m

6、embernameVARCHAR(20)性别sexVARCHAR(2)班级classVARCHAR(20)部门编号deptnoCHAR(10)创建成员表:CREATE TABLE Member(memberno CHAR(10) PRIMARY KEY,membername VARCHAR(20) sex VARCHAR(2) class VARCHAR(20) ,deptno CHAR(10), FOREIGN KEY(deptno) REFERENCES Dept(deptno);2.部门表Dept字段含义字段名称字段类型部门编号deptnoCHAR(10)部门名称deptnameVARC

7、HAR(20)部门人数membercountCHAR(10)创建部门表:CREATE TABLE Dept(deptno CHAR(10) PRIMARY KEY ,deptname VARCHAR(20) NULL ,membercount VARCHAR(20) );3.活动表Activity字段含义字段名称字段类型活动编号activitynoCHAR(10)活动名称activitynameVARCHAR(20)活动类型activitytypeVARCHAR(20)活动地点activityplaceVARCHAR(20)创建活动表:CREATE TABLE Activity(activit

8、yno CHAR(10) PRIMARY KEY ,activityname VARCHAR2(20) ,activitytype VARCHAR2(20) ,activityplace VARCHAR2(20) ,);4.活动组织表字段含义字段名称字段类型部门编号deptnoCHAR(10)活动编号activitynoCHAR(10)创建活动组织表:CREATE TABLE Organize(deptno CHAR(10) ,activityno CHAR(10),PRIMARY KEY(deptno,activityno),FOREIGN KEY(deptno) REFERENCES De

9、pt(deptno),FOREIGN KEY(activityno) REFERENCES Activity(activityno);返回其所有行:Member的数据:membernomembernamesexclassdeptno0001 小芳023 0002 小云 015 0003 圆圆014 0004 小翔121 0005 小菲013 0006 小龙136 0007 小锋122 Dept的数据:deptnodeptname membercount1 一部100 2 二部100 3 三部100 4 四部100 5 五部100 6 六部100 Activity的数据:activitynoac

10、tivityname activitytypeactivityplace001 庆典 校级 学校002 运动会 院级 学校003 拔河比赛 院级 学校004 植树 院校 学校005 舞会 院级 学校Organize的数据deptnoactivityno3 001 1 002 六.Insert插入数据1.部门表数据(最先插入,否则成员表和活动组织表会因为外键约束无法插入):insert into dept values ('8','主席团',3) ;则dept表变为deptnodeptname membercount1 一部100 2 二部100 3 三部100

11、4 四部100 5 五部100 6 六部100 8 主席团 3insert into dept values ('9','文艺部',4) ;deptnodeptname membercount1 一部100 2 二部100 3 三部100 4 四部100 5 五部100 6 六部100 8 主席团 39 文艺部 4insert into dept values ('10','学习部',3') ;deptnodeptname membercount1 一部100 2 二部100 3 三部100 4 四部100 5 五部100

12、 6 六部100 8 主席团 39 文艺部 410 学习部 32.成员表数据:insert into member values ('0011','刘钟毅','1','2', '01');membernomembernamesex classdeptno0001 小芳 0 2 3 0002 小云 0 1 5 0003 圆圆 0 1 4 0004 小翔 1 2 1 0005 小菲 0 1 3 0006 小龙 1 3 6 0007 小锋 1 2 2 0011 刘钟毅 1 2 01insert into member v

13、alues ('0012','孙悟空 ','1','2','01');membernomembernamesexclassdeptno0001 小芳 0 2 3 0002 小云 0 1 5 0003 圆圆 0 1 4 0004 小翔 1 2 1 0005 小菲 0 1 3 0006 小龙 1 3 6 0007 小锋 1 2 2 0011 刘钟毅 1 2 010012 孙悟空 1 2 01 insert into member values ('0013','姜鸥航','0&#

14、39;,'2', '01');membernomembernamesex classdeptno0001 小芳 0 2 3 0002 小云 0 1 5 0003 圆圆 0 1 4 0004 小翔 1 2 1 0005 小菲 0 1 3 0006 小龙 1 3 6 0007 小锋 1 2 2 0011 刘钟毅 1 2 010012 孙悟空 1 2 01 0013 姜欧航 0 2 013.活动表数据:insert into activity values (011','NCAA','校级' ,'校体育馆') ;

15、activitynoactivityname activitytype activityplace001 庆典 校级 学校002 运动会 院级 学校003 拔河比赛 院级 学校004 植树 院校 学校005 舞会 院级 学校011 NCAA 校级 校体育馆insert into activity values ('012','经验交流会','院级,教室 ') ;activityno activityname activitytypeactivityplace001 庆典 校级 学校002 运动会 院级 学校003 拔河比赛 院级 学校004 植树

16、 院校 学校005 舞会 院级 学校011 NCAA 校级 校体育馆012 经验交流会 院级 教室insert into activity values ('13','羽毛球赛','校级','校体育馆' ) ;activityno activityname activitytypeactivityplace001 庆典 校级 学校002 运动会 院级 学校003 拔河比赛 院级 学校004 植树 院校 学校005 舞会 院级 学校011 NCAA 校级 校体育馆012 经验交流会 院级 教室013 羽毛球赛 校级 校体育馆4.活动

17、组织表数据(在部门表和活动表数据之后插入,否则会因为外键约束无法插入):insert into organize values ('2','005') ; deptno activityno3 001 1 002 2 005insert into organize values ('2','002') ;deptnoactivityno3 001 1 002 2 0052 002insert into organize values ('3','011') ;deptnoactivityno3 00

18、1 1 002 2 0052 0023 011七.索引:建立索引遵循的规律:1.建立在where子句经常引用的列上,2.经常需要排序的列上,3.连接属性列上等create index organize_index on organize(deptno,activityno);-组织活动表上建立组合索引create index dept_index on dept(deptno);-部门表在部门编号字段上建立索引create index member_index on member(memberno);-成员表在成员编号字段上建立索引create index activity_index on

19、activity(activityno);-活动表在活动编号字段上建立索引八查询数据1.查询三部都参与组织了哪些活动select activityno,activityname from activity where activityno in (select activityno from organizewhere deptno=(select deptno from dept where deptname='三部')2.查询每个部门的平均年龄,并按平均年龄降序排列。select deptname 部门名称,avg(extract(year from sysdate)-ex

20、tract(year from birthday) 平均年龄from member inner join dept on member.deptno=dept.deptno group by deptname order by 2 desc3.查询男生人数超过所在部门总人数一半的部门select dept.deptno 部门号,max(deptname) 名称,max(membercount) 人数from dept inner join member on dept.deptno=member.deptnogroup by dept.deptnohaving (select count(*)

21、 from member where sex='男' and deptno=dept.deptno) >0.5*count(*)4.查询和小芳在同一个部门但是年龄比她小的成员的基本信息select a.memberno,a.membername,a.sex,a.class,a.birthday,a.entertimefrom member a inner join member bon a.deptno=b.deptnowhere a.birthday>b.birthday and b.membername='小芳'九、元组的插入、删除、修改 元组的

22、插入如上 元组的删除DELETEFROM MemberWHERE memberno=0006;则其结果为:membernomembername sexclassdeptno0001 小芳 0 2 3 0002 小云 0 1 5 0003 圆圆 0 1 4 0004 小翔 1 2 1 0005 小菲 0 1 3 0007 小锋 1 2 2 0011 刘钟毅 1 2 010012 孙悟空 1 2 01 0013 姜欧航 0 2 01 元组的修改UPDATE MemberSET CLASS=CLASS+1其结果为:membernomembername sexclassdeptno0001 小芳 0

23、3 3 0002 小云 0 2 5 0003 圆圆 0 2 4 0004 小翔 1 3 1 0005 小菲 0 2 3 0007 小锋 1 3 2 0011 刘钟毅 1 3 010012 孙悟空 1 3 01 0013 姜欧航 0 3 01或UPDATE DeptSET DEPTNO=9WHERE DEPTNO=2;UPDATE MemberSET DEPTNO=9WHERE DEPTNO=9;其结果为:membernomembername sexclassdeptno0001 小芳 0 3 3 0002 小云 0 2 5 0003 圆圆 0 2 4 0004 小翔 1 3 1 0005 小菲 0 2 3 0007 小锋 1 3 9 0011 小毅 1 3 010012 孙悟空 1 3 01 0013 姜欧航 0 3 01十、视图的创建、查询、更新、删除视图的定义:CREATE VIEW Member_VIEWAS SELECT *FROM MemberWH

温馨提示

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

评论

0/150

提交评论