数据库课程设计

发布 2022-10-04 15:14:28 阅读 5948

—学生信息管理系统。

一、 设计时间。

2024年12月22日——12月27日。

二、 设计地点。

四川大学江安校区实验楼。

三、 设计目的。

1、巩固学习oracle基础知识方面的基本算法,进一步熟悉基本概念。

2、熟练在oralce中的操作,了解基本的流程。

3、培养查阅资料,独立思考问题的能力。

四、 设计小组成员。

五、 指导老师。

六、 设计课题。

经过小组组员的讨论,决定选取:学生信息管理系统。

理由:1、综合度高,有利于大家熟练掌握和运用oracle中的存储过程、函数、触发器、索引等功能的编写。

2、整个系统简洁明了,是我们常接触的数据库,适于现在阶段的我们。

3、**编写涉及面广,利用提高综合应用能力,加强oracle理论知识的掌握。

全面学习oracle。

七、 基本思路及关键问题的解决方法。

1.基本思路:新生开学首先进行注册报到,办理登记手续,根据学生被录专业到所在的系进行注册;注册完毕后根据选报的专业进行分班;学期期末学生参加期末考试;考试结束由管理员将学生考试成绩以及其他相关信息录入学生档案。

2.学生信息管理系统大体可以分成三部分:

一是学生的基本信息,里面应该包含学生的各方面的基本信息;再者便是课程管理模块,在该模块中应该包含有对学生成绩信息的查询和处理课程等相关信息的模块;

二是管理员登陆。此系统功能安排合理,操作使用方便。

三是功能扩充部分,方便日后对系统的升级和更新使用。

如图所示:学生信息管理系统层次结构图。

3.学生信息管理系统的功能。

1)信息管理员。

可以修改、删除、添加学生信息;

2)班级信息管理。

可以添加、修改、删除班级信息;

3)学籍信息管理。

可以添加、查询、修改、删除学籍;

4)课程信息管理。

可以查看各班的课程信息;

5)成绩信息管理。

可以用一个或几个条件查询、添加、删除,修改成绩;

图。student(num,name,sex,class,dept,major,num_password)

grade(num,subject,point)

course(class,subject,teacher,credit)

depart(dept,major,class)

manager(manager_id,manager_password)

八、 数据库各对象及作用。

a) tablespace and datafile(表空间和数据文件)

数据库、表空间和数据文件紧密关联,但是它们还是有重要的区别:

一个oracle由一个或多个逻辑存储单位组成,这些单位叫做表空间,表空间负责保存数据库所有的数据。

oracle数据库的每个表空间由一个或多个叫做数据文件的文件组成,数据文件是oracle所运行的操作系统上的文件。

一个数据库的数据存储在构成数据库中表空间的数据文件上。例如,一个最简单的数据库可能只有一个表空间和一个数据文件。另一个数据库可能拥有三个表空间,每个有两个数据文件(整体上就是六个数据文件)。

create tablespace test1 datafile 'h:\oracle\';

size 20m

extent management local autoallocate;

b) table(表)

用于存放数据。

student

namenull? type

numnot null number(10)

namenot null varchar2(20)

sexchar(2)

class not null number(38)

deptvarchar2(20)

majorvarchar2(20)

num_passwordvarchar2(20)

grade

name null? type

numnumber(10)

subjectvarchar2(20)

pointnumber(38)

classnumber(38)

course

name null? type

class not null number(38)

subjectvarchar2(20)

teachervarchar2(20)

creditnumber(38)

depart

name null? type

deptvarchar2(20)

majorvarchar2(20)

class not null number(38)

manager

namenull? type

manager_id not null char(10)

manager_passwordvarchar2(20)

c) constraints(约束)

约束作用:用来保持数据的完整性,防止无效数据进入到数据库中。

oracle数据库中提供的5种约束,都是限定某个列或者列的组合的。

1、主键约束(primary key):在一个表中能唯一的标识一行。主键可以限定在多个列上。

2、唯一键约束(unique key):在一个表中能唯一的标识一行,唯一键也可以限定在多个列上。

主键和唯一键的区别:

a、一个表中最多只能有一个主键。可以多个唯一键。

b、主键所限定的列不能为null,唯一键所限定的列可以为null.

3、外键约束(foreign key):

引用表:有外键约束的列所在的表。

被引用表:外键所引用的列。被引用的列只能是主键或者唯一键。

4、非空约束(not null):表示该列上的数据不能有null值。

5、检查性约束(check):表示该列上的数据必须满足某一个条件表达式。

d) index(索引)

建立索引的目的是加快对表中记录的查找或排序,为表设置索引要付出代价的:

一是增加了数据库的存储空间;

二是在插入和修改数据时要花费较多的时间(因为索引也要随着而动)。

e) view(视图)

视图是从一个或几个基本表(或视图)导出的表。它与基本表不同,是一个虚表。数据库只存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表中。

所以基本表中的数据发生变化,从视图中查询出的数据也就随之改变了。从这个意义上讲,视图就像一个窗口,透过它可以看到数据库中自己感兴趣的数据及其变化。

视图使用的时候跟表一样。主要作用是不让所有的人都能看到整张表。比如有个员工信息表,里面有****,薪资等,可能只希望hr能看到薪资,其他人只能看到****,那么就可以使用视图来实现。

合理地使用视图能够带来许多好处:

1、单源表视图。

视图的数据可以只取自一个基本表的部分行、列,这样的视图行列与基本表行列对应。这样定义的视图一般可以进行查询和更改数据操作。

2、多源表视图。

视图的数据可以来自多个表中,这样定义的视图一般只用于查询,不用于修改数据。

3、在已有视图上定义的新视图。

可以在视图上再建立视图,这时作为数据源的视图必须是已经建立好的。

4、带表达式的视图。

在定义基本表时,为减少数据库中的冗余数据,表中只存放基本数据,由基本数据经过各种计算派生出的数据一般是不存储的。但由于视图中的数据并不实际存储,所以定义视图时可以根据需要设置一些派生属性列,在这些派生属性列中保存经过计算的值。这些派生属性由于在基本表中并不实际存在,因此,也称它们为虚拟列。

包含虚拟列的视图也称为带表达式的视图。

5、含分组统计信息的视图。

含分组统计信息的视图是指定义视图的查询语句中含有group by子句,这样的视图只能用于查询,不能用于修改数据。

f) sequence(序列)

序列(sequence)是序列号生成器,可以为表中的行自动生成序列号,产生一组等间隔的数值(类型为数字)。其主要的用途是生成表的主键值,可以在插入语句中引用,也可以通过查询检查当前值,或使序列增至下一个值。

九、 调试过程**现的问题及相应解决方法。

在调试过程中,主要出现的问题在于存储过程、游标、函数以及触发器的建立时出现的编译性错误。通过资料的查询问题得以解决。

一十、 课程设计心得体会。

通过两周的设计和开发,我们终于完成了学生信息管理系统,在此过程中,我们学会了很多有用的东西,综合能力提高许多。在编程的过程中,回顾了以前所学的知识,通过这个课程设计,把学到的知识充分应用了,检验了自我,并且通过和别人一起合作,学到了新的知识,特别是团队精神。因为一个人所学的知识不可能面面俱到的,只有通过合作,发挥自己的优点,体现团队精神,才能使任务完成的更加出色,通过这次设计,我们感觉到了团队合作在软件开发过程中的重要性,一个人是没有办法完成一个号的项目的,通过这次设计,亲身体验了系统开发的全过程,在实践中了解系统设计开发的步骤、流程以及思路,增长了系统开发方面的见识,我们深刻认识到以前所学的基础课程的重要性,也使我们掌握了很多新的知识,特别是课堂上无法学到的东西,体会到了理论和实践相结合的重要性。

由于设计时间较短,且受知识和技术水平的限制,所以该系统还会有很多不尽人意的地方,比如功能不全,出错处理不够等多方面问题。系统开发是一个不断完善的过程,只有在实际的使用过程中才能不断的发现问题,从而再加以改进升级。而在系统设计过程中,难免会出现一些**不到的异常,这些异常可能在系统测试阶段检测不出,只有用户在使用过程中才能发现。

总的来说,尽管这次作业还存在很多问题,但是通过这次设计,我们学到了许多书本上学不到的知识,增强了自己的动手能力和自信心,为我们以后的工作积累了宝贵的财富,而且让我们明白了团队合作的重要性。

一十一、 源程序(每句语言要详细解释)

1. 库的创建。

/tablespace test1创建,大小20m

create tablespace test1 datafile 'h:\oracle\';

数据库库课程设计

目录。引言11 开发环境1 1.1 硬件环境1 1.2 软件环境1 1.2.1 sql server 2005 delphi7简单介绍2 2 需求分析3 2.1 信息需求3 2.2 功能需求3 2.3 安全性与完整性要求3 3 概念结构设计3 4 逻辑结构设计4 5 数据库实现6 5.1 创建数据库...

数据库课程设计总结数据库课程设计个人总结

数据库课程设计个人总结 4班6组赵 王婆卖瓜时间过了,言归正传吧。凡是都要有个总结,以下便是我在这个课程设计中的一点心得。首先我分析一下我们组任务顺利完成的成功之处并总结一些经验,供以后反省参考用。凡事预则备,不预则废。这是我的座右铭,也是我深有感悟的几句古语之一。在这个项目的开始阶段,老师便让我们...

数据库课程设计

简单pos系统。班级 计科二班 姓名 韩田田 学号 201010510237 目录。前言。销售管理作为零售企业现代化管理不可缺少的组成部分,日益受到人们的重视。传统销售模式以及销售管理体系和机制,已经越来越难以适应零售企业现代化管理的需求。pos point of sales,销售终端的英文缩写 是...