1、1、问题的提出:为了高效率的完成学生成绩的管理,决定开发学生成绩管理系统。2、 需完成的功能:(1)能提供管理员及普通用户(除删除和修改)录入、注销、显示当前用户、修改、删除、查询、输出,学生的档案信息,这些信息包括学生的成绩、课程、个人信息等。(2) 触发器,索引,存储过程的建立及使用。2. 概念设计(1)(E-R图)(2)物理结构设计StudentColumnNameDateTypeWidth空值情况Snonchar10主关键字Snamenchar 不为空SexBirthdaynumeric可为空AddressGradePo;iticCutureTelNcharCource CnoScor
2、eUserUser_name20User_PswdUser_Typeint(3)分析关系模式对于关系模式Student(Sno|Sname|Sex|Age|Address|Grade|class|Tel|Politic|Cuture )假定姓名也具有唯一性,那么Student就有两个码,这两个码都由单个属性组成,彼此不相交。其它属性不存在对码的传递依赖与部分依赖,又因为Student中除学号、姓名外没有其它的因素,所以Student属于BCNF。对于关系模式Cource(|Sno|Cno|Score|)有两个码,这两个码都由单个属性组成,彼此不相交,其它属性不存在对码的传递依赖与部分依赖,又因
3、为成绩中除学号、课程号外没有其它的决定因素,所以成绩属于BCNF。对于关系模式User(|UserName|UserType|UserPswd|)中,它只有一个码,这里没有任何属性对课程号部分依赖或传递依赖,同时用户名是唯一的决定因素,所以课程属于BCNF。它和学生信息和成绩没有直接的联系,因此它是一张单独的表。3.SQL语句3.1 创建表学生表create table Student( Sno nchar(10) primary key,Sname nchar(10) not nullSex nchar(10)Age numeric(10)Address nchar(10)Class nch
4、ar(10)Grade nchar(10)Tel nchar(10)PoliticCuture nchar(10) )成绩表create table ExamSno nchar(10) primary key /主键约束Cno nchar(10) Not nullScore nchar(10)foreign key (Cno) references Course /外键约束check(Score=0) /完整性约束用户表create table TeacherUsernameUserPswdUserType3.2数据初始化将学生类别加入表Student中insert into Studentv
5、alues (000,张明,M,哈尔滨,计科一班,大一,15880000,无,群众) values(001,李三,M,长春,计科二班,大三 15233000.无,群众) 002,王强,M,哈尔滨,软件二班,大二 15850040.无,003,张雪,F,哈尔滨,软件一班,大一 156809802.无,004,李力,M,大连,软件一班,大三 15980000.无,005,张小,M,哈尔滨,软件三班,大一 15884444.无,将考试类别加入Cource表中 insert into Cource 000,A-12385 )001B-12377002C-12391insert into Cource
6、00380insert into Cource0047500589将课程加入User表中insert into User阿生9210insert into User光光1111 甜甜索引的使用use studentcreate unique nonclustered index index_sno on Student(sno )触发器create trigger reminderon studentafter insert,updateas raiserror(你在插入或修改学生的数据,16,10)drop trigger reminderselect *from Studentwhere
7、sno=002存储过程create procedure usp_getStudentname nchar(40)as select * from Student where Sname=name执行存储过程execute usp_getStudent 张明4、SQL与C+结合(可视化的界面管理)1、准备创建好的数据库,创建数据源在创建数据库的应用程序之前,必须有一个可供应用程序使用的数据库。2、(1)建立了数据库之后,必须配备 ODBC 数据源,使其指向刚刚建立的数据库。选择“控制面板”中“管理工具”下的“数据源(ODBC)”项。双击 ODBC 图标,弹出“ODBC 数据源管理器”对话框。在这
8、里用户可以设置 ODBC数据源的一些信息,其中的“用户 DSN”选项卡是用户定义的在本地计算机上使用的数据源名(DSN),(2) 为新的数据源选择数据库驱动程序。由于使用的是 Access 数据库,所以选择 Driver do Microsoft Access(*.mdb)选项,并单击“完成”按钮。(3) “ODBC Microsoft Access 安装”对话框中,为该数据源起一个简短的名称。本例为 TeacherDB,可以在下一个编辑框中输入对该数据库的说明。(4) 指定数据库的位置。单击“选择”按钮,然后指定所创建的 Access 数据库。(5) 单击“确定”按钮,刚才创建的用户数据源被
9、添加在“用户 DSN”选项卡的“用户数据源”列表框中。3. 创建 MFC AppWizard 应用程序 用 MFC AppWizard(exe)创建一个对话框应用程序 TeacherMIS。为了使程序能支持数据库对象,在头文件 stdafx.h 中加入#include。4. 用 ClassWizard 为数据库中的每一个表映射一个记录集类 首先为表 Users 映射记录集类 CUserSet。打开项目工作区的 ClassView 选项卡,选择项目名称,右击,弹出快捷菜单,选择 New Class 命令弹出的 New Class对话框,输入记录集类名称 CUserSet,并为其选择基类 CRecordset,单击 OK 按钮,弹出的Database Options 对话框,为记录集类选择 ODBC 数据源 TeacherDB,单击 OK 按钮,弹出Select Database Tables 对话框,为记录集类选择数据库表 Users,单击OK 按钮,即完成记录集类 CUserSet 的定义。5、根据类属性之间的关系添加如下类:6、C+中实现对数据库的管理(及增加、删除、修改、查找、退出
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1