华电数据库原理课程设计报告
数据库系统原理课程设计报告

数据库系统原理课程设计报告.docx一、程设计的任务2二、系统需求分析与设计21、系统需求分析22、数据流图三、数据结构描述4四、软件设计流程图和功能模块图51、软件设计流程图52、功能模块图6五、程序模块汇总6六、本软件所能实现的功能综述及分析81、基本信息管理92、进货信息管理93、销售信息管理94、库存信息管理95、系统辅助管理9七、课程设计体会和总结10一、课程设计的任务数据库系统原理是计算机及其相关学科的一门重要的软件基础课程,也是计算机软件科学与技术、信息科学与技术的重要学科分支。
本课程设计旨在通过对一个小型数据库管理系统(DBMS)的综合设计过程,强化学生对计算机系统软件的设计能力,提高学生的综合素质,并通过课程设计进一步加强学生对所学知识的理解,以及对数据库的全面、深刻认识。
现代化事业的发展,也使超市的管理手段发生前所未有的革命。
计算机的运用现正在发达国家的各类商店超市中普及。
由于它能够准确记载和查阅有关超市经营活动的大量数据,帮助超市经营者掌握和分析营销情况,及时作出正确决策,并且有利于商店内部的财务、工资、人员、库存、销售情况等管理,因而大大提高了现代超市的管理水平。
国外很多发达资本主义国家的有关人士都在开发超市管理系统,开发出很多大型的软件,由于本人能力有限,开发一个小型超市管理系统,它可以使我们国内新起小型超市可以更好的操作。
此系统的有减少差错,节省人力,减少顾客购物时间,增加客流量,提高顾客满意度等特点。
我通过开发这个简单管理信息系统,巩固了自己所学的知识,提高了应用能力。
二、系统需求分析与设计1、系统需求分析根据需求分析,系统共需7张数据表,分别是:“职工信息”表、“经理信息”表、“商品信息”表、“厂商信息”表、“库存信息”表、“进货信息”表和“售货信息”表。
下面分析每张数据表需要的详细信息。
l“员工信息”表用来存放员工的基本信息。
所需的字段有:员工号,姓名,性别,出生日期,政治面貌,部门,职务,家庭地址,电话和备注等。
数据库原理课程设计报告

《数据库概论》课程设计报告-----图书管理系统姓名:陈相君学号:141842251班级:软1441任课老师:甘丽实验目的:《数据库概论》课程设计实验是一门独立开设的实验课程。
《数据库概论》课程设计实验对于巩固数据库知识,加强学生的实际动手能力和提高学生综合素质十分必要。
本课程设计实验主要围绕两方面内容:数据库设计和基本C/S结构数据库编程实践。
通过本实验,使学生了解数据库系统的理论,掌握数据库的设计方法及数据库的运用和开发技术。
1. 掌握数据库设计的基本方法,熟悉数据库设计的步骤;2. 通过设计数据库系统应用课题,进一步熟悉数据库管理系统的操作技术,提高动手能力,提高分析问题和解决问题的能力;3. 学习基本“C/S结构”数据库编程方法。
开发要求:○1进行新书入库、现有图书信息修改以及删除;②能够实现对读者基本信息的查询和编辑管理;③能够进行借阅信息的查询功能;设计环境:操作系统:Windows 7;DBMS:mysql;开发工具:Java需求分析:①进行新书入库、现有图书信息修改以及删除;②能够实现对读者基本信息的查询和编辑管理;③能够进行借阅信息的查询功能;图书馆管理信息系统需要完成功能:1. 读者基本信息的输入,包括借书证编号、读者姓名、性别、类别、可借天数。
2.读者基本信息的查询、修改,包括读者借书证编号、读者姓名、班级、专业等。
3.书籍类别标准的制定、类别信息的输入,包括类别编号、类别名称。
4.书籍类别信息的查询、修改,包括类别编号、类别名称。
5.书籍库存信息的输入,包括书号、书名、著者、类别、价格、出版日期、。
6.书籍库存信息的查询,修改,包括书籍编号、书籍名称、等。
7.借书信息的输入,包括读者借书证编号、书籍编号、借书日期。
8.借书信息的查询、修改,包括借书证编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期等。
9.还书信息的输入,包括借书证编号、书籍编号、还书日期。
10.还书信息的查询和修改,包括还书读者借书证编号、读者姓名、书籍编号、书籍名称、借书日期、还书日期等。
数据库系统原理课程设计实验报告册

数据库系统原理课程设计实验报告册数据库系统原理课程设计二级学院: 电子与计算机学院专业班级:计算机科学与技术1班姓名: 常龙教学成绩管理系统一、需求分析通过与学院有关部门座谈了解、信息收集等,了解到该学院“教学成绩管理系统”开发的任务是实现学院教学成绩信息管理规范化和自动化,系统的用户有学院领导、成绩管理人员、班主任、教师及学生等。
(1)教师:在校园网(局域网)或互联网录入与查询所代课程成绩数据,查询学院、系部、教研室、专业、教师、学生、课程信息等数据;(2)班主任:在校园网或互联网录入与查询所负责班级的学生档案信息,查询学院、系部、教研室、专业、教师、课程信息和所管理学生成绩等数据;(3)学生:在校园网或互联网查询学生个人档案信息和成绩信息,查询学院、系部、教研室、专业公共信息和所在班级的课程设置信息;(4)领导:在校园网或互联网查询本系统所有信息;(5)成绩管理人员:在校园网或互联网查询本系统所有信息,在校园网维护所有数据。
具体功能结构图如下:教学成绩管理系统系统设置公共信息师资管理学籍管理课程设置成绩管理学生信息录入按学号查询按姓名查询按班级查询组合查询教学成绩管理系统的功能结构图设计要求:根据上面需求分析阶段的分析,画出系统的数据流图,要求至少画三层(包括顶层);然后根据数据流图,写出数据字典(要求有数据项、数据结构、数据存储、数据流)。
注意:正确使用数据流图的符号。
1.数据流图2.数据字典二、概念结构设计1、确定数据库中涉及的实体在教学成绩管理系统中主要涉及的实体包括:学生、教师、课程、学院、系部、教研室、专业、班级等。
2、根据需求分析确定实体的属性具体的实体属性参考表如下:(根据所做需求的不同可能在个别属性上会有些出入)实体属性学生学号、姓名、密码、性别、出生日期、民族、籍贯、家庭住址、邮政编码、联系电话、身份证号、政治面貌、班级编号、入学日期、备注、简历、照片教师教师编号、登录名、姓名、密码、性别、教研室编号、出生日期、工作日期、职称、职务、学历、学位、工资、照片课程课程编号、课程名、院系编号、学时、学分、类别、考试类型学院学院编号、学院名称、简称、院长、学院书记系部系部编号、系部名称、系部主任、系部书记教研室教研室编号、教研室名称、教研室主任专业专业编号、院系编号、专业名称班级班级编号、班级名称、年级、专业编号、人数、学制、班主任、班长、班书记3、根据需求分析确定实体间的联系实体确定后,根据需求分析确定实体间的关系:教师、学生、课程:三个实体间存在“教学成绩”的关系,而且教师与学生之间是多对多的关系,学生与课程之间也是多对多的关系,教师和课程之间也是多对多的关系;教师、班级、课程:三个实体之间存在“班级课程设置”的关系,而且班级和教师之间是多对多的关系,班级和课程之间是多对多的关系;此外,其他实体间也存在着隶属或属于关系:系部、学院:一个学院可以包含多个系部,一个系部只能属于一个学院;教研室、系部:一个系部包括若干个教研室,一个教研室只能属于一个系部;专业、学院:一个学院可以包括若干个专业,一个专业只能属于一个学院;专业、班级:一个专业包括若干个班级,一个班级只能属于一个专业;教师、教研室:一个教研室包括若干个教师,一个教师只能属于一个教研室;学生、班级:一个学生属于一个班级,一个班级包含若干学生。
数据库原理及应用课程设计报告

一、课程设计的目的与要求本课程设计通过对一具体的数据库应用课题的设计与编程,掌握数据库系统应用程序的开发与设计方法,巩固所学国的理论知识。
通过本课程的学习,使学生学会利用RDBMS进行数据库的设计,以便加深对数据库原理课程所学知识的理解,并能进行数据库应用程序的设计,为学生以后在数据库技术领域的学习打下基础。
同时,本课程的学习过程也是复杂程序设计的训练过程,要求学生编写的程序结构清晰、正确易读,符合软件工程的规范二、设计正文1.开发工具本课程设计采用面向对象方法学,使用Rational Rose 2003进行建模,以JAVA 作为编程语言,JCreator 2003为开发工具,并辅以Dream Weaver 8 进行页面总体布局设计,Adobe Photoshop CS2 进行网站图片的设计。
完成用户对BBS帖子,公告,论坛的创建管理,管理员对系统得维护管理以及用户对帖子的浏览及评论发表,并采用ACESS作为后台数据库。
2.总体设计(框图)2.1设计问题域子系统2.2设计数据管理子系统本系统使用access 数据库管理论坛、公告和用户的信息。
使用JDBC-ODBC桥驱动方式,访问数据库。
2.3设计人机交互子系统本系统人机交互简单,采用JSP技术和CSS技术进行界面的设计,所有页面风格一致,简单明了,用户十分易于上手用户只需通过按钮和文本框,或文本区实现和系统的交互。
2.3.1用户注册模块设计模块实现对用户输入信息的保存和提交,具有客户端验证功能,能提示用户是否输入错误信息,用户通过多个文本框与系统进行信息交互。
2.3.2贴子管理模块设计实现了对帖子的编辑、删除、引用、等功能,用户只需通过点击相关的功能按钮就能进入相应的管理模块进行对贴子的操作。
2.3.3用户信息管理模块设计实现对用户信息的修改,以及对用户的权限的设置,由若干文本框组成能对用户所有的信息进行详细的修改。
2.3.4公告管理模块设计实现对公告的发布,和对公告信息的修改,可通过点击功能按钮进行相应的操作。
华北电力大学数据库原理课程设计报告

华北电力大学数据库原理课程设计报告12020年4月19日科技学院课程设计报告( -- 第2学期)名称:数据库原理课程设计院系:信息工程系班级:网络学号:学生姓名:指导教师:郭丰娟乔玲玲设计周数: 1成绩:日期: 6 月1日22020年4月19日《数据库原理》课程设计任务书一、目的与要求1.这门课是为计算机科学与技术专业的学生在学习数据库原理后,为培养更好的解决问题和实际动手能力而设置的实践环节。
经过这个环节,使学生拥有能够应用数据库原理对数据库系统进行设计的能力。
为后继课程和毕业设计打下良好基础。
2.经过该实验,培养学生在建立数据库系统过程中使用关系数据理论的能力。
3.经过一个学生并不陌生的完整系统的设计,能够培养学生对需求分析、方案设计、系统编码、界面设计和软件调试等各方面的能力。
是一门综合考查学生数据库原理、面向对象设计方法、软件工程和信息系统分析与设计等涉及多课程的综合实验。
二、主要内容信息管理系统的设计与实现是针对一个实际中小型系统(见题目附录)进行的数据库设计,它需要管理的内容有实体以及实体之间的联系。
1. 首先要求完成需求的理解和实体的设计:a)设计实体的属性和码,以及该实体的实体完整性、用32020年4月19日户自定义的完整性。
b)设计实体的之间的联系,包括联系的类型和联系的属性,即设计实体参照完整性。
最后画出完整的E-R图。
2.根据设计好的E-R图及关系数据库理论知识设计数据库模式:2.1 将E-R图转换为关系模式。
2.2 设计关系模式间的参照完整性。
2.3 用SQL语言实现数据库模式的设计。
3.实现信息管理系统所需的各种操作:3.1 用SQL语言实现信息的录入、删除和修改。
3.2 以视图的形式完成各类查询,包括单表、多表、单条件、多条件等。
4.权限的设计:4.1 授权操作;4.2 收回权限的操作。
5.界面的设计、加密的设计。
三、进度计划42020年4月19日四、设计(实验)成果要求1.在DBMS(如SQL Server,DB2等)上完成完整的数据库的设计;2.使用可视化开发平台完成该系统,并要能够求正确的运行;3.完成实验报告。
数据库系统原理及课程设计报告

数据库系统原理及课程设计报告1. 引言数据库系统是现代计算机科学领域中非常重要的一部分,它广泛应用于各个领域,包括企业管理、电子商务、医疗保健、社交网络等。
本报告旨在介绍数据库系统的原理和课程设计内容,以及设计过程中的思考和实践。
2. 数据库系统原理2.1 数据库系统概述数据库系统是一种用于管理和组织数据的软件系统,它提供了数据的存储、检索、更新和删除等功能。
数据库系统由数据库管理系统(DBMS)和数据库组成,它们共同协作来处理用户的请求并维护数据的完整性和安全性。
2.2 数据库模型数据库模型是数据库系统中用于描述和组织数据的方法和规则。
常见的数据库模型包括层次模型、网状模型、关系模型和面向对象模型等。
其中,关系模型是最常用的数据库模型,它使用表格(关系)来表示数据,并通过关系代数和关系演算来进行数据操作。
2.3 数据库设计数据库设计是指根据实际需求和数据特点,设计数据库的结构和关系。
它包括实体-关系模型的设计、范式的应用、关系模式的定义和数据字典的编制等。
在数据库设计过程中,需要考虑数据的完整性、一致性和性能等方面的问题。
3. 课程设计内容3.1 课程设计目标本课程设计旨在通过实践操作,加深对数据库系统原理的理解,并提升学生的数据库设计和实现能力。
学生需要完成一个实际的数据库应用项目,包括需求分析、数据库设计、系统实现和测试等环节。
3.2 课程设计任务本课程设计要求学生设计一个学生信息管理系统。
系统需求包括学生基本信息的录入、查询、修改和删除等功能,以及学生成绩的统计和排名功能。
学生需要使用关系型数据库管理系统(如MySQL、Oracle等)来实现系统,并使用合适的编程语言(如Java、Python等)编写前端界面。
3.3 课程设计步骤3.3.1 需求分析学生需要与教师和同学进行沟通,明确系统的功能和性能需求。
在需求分析阶段,学生需要编写需求规格说明书,包括用例图、用例描述和功能需求等。
3.3.2 数据库设计学生需要根据需求分析结果,设计数据库的结构和关系。
数据库原理课程设计报告

数据库原理课程设计报告题目:学生管理系统学院:信息电子技术学院专业:计算机科学与技术姓名:学号:指导教师:需求分析:针对现今学校管理学生信息的特点,我决定开发一项学生信息管理系统。
该学生信息管理系统用Visual Basic来设计界面,以SQL Server为后台数据库,采用面向对象的语言编程,实现对学生信息的基本管理。
本系统主要包括院系信息的管理功能,学生基本信息管理功能,学生照片管理功能,学生主要教育经历信息管理功能,学生奖罚管理功能,学生学籍变动管理功能,课程设置管理功能,学生成绩管理功能,系统用户管理功能,系统日志管理功能和用户操作权限控制功能等,其中每项信息管理功能模块都包括对信息的录入,修改,删除和查询。
该系统充分考虑用户的操作简便性,实现快捷操作. 为了安全考虑,我还在进入系统之前加上了登录模块。
其中学生照片管理是本系统中较有特色的部分。
总体设计:该学生信息管理系统用Visual Basic来设计界面,以SQL Server为后台数据库,采用面向对象的语言编程,实现对学生信息的基本管理。
本系统的主要任务是实现对学校各院系和所有学生的系统管理,功能主要如下:1.院系信息管理功能:院系信息的录入,包括院系编号,院系名称,院系职能描述和上级院系等信息;院系信息的修改;院系信息的删除;院系信息的查询2.学生基本信息管理功能:学生基本信息的录入,包括院系编号,姓名,性别,生日,所在院系等信息;学生基本信息的修改;学生基本信息的删除;学生基本信息的查询3.学生照片管理功能(照片的存储和管理与其他基本信息不同)学生照片的录入,将指定的图象文本存储到数据库中;学生照片的修改;学生照片的删除;学生照片的显示4.学生主要教育经理信息管理功能学生主要教育经历信息的录入,包括开始日期,截至日期,所在学校,职务等信息;学生主要教育经历信息的修改;学生主要教育经历信息的删除;学生主要教育经历信息的查询5.学生奖罚管理功能学生奖罚信息的录入,包括奖罚日期,奖罚内容等信息;学生奖罚信息的修改;学生奖罚信息的删除;学生奖罚信息的查询6.学生学籍变动管理功能学生学籍信息的录入;学生学籍信息的修改;学生学籍信息的删除;学生学籍信息的查询7课程设置管理功能课程设置信息的录入,包括课程编号,课程名称,课程内容等信息;课程设置信息的修改;课程信息的删除;课程信息的查询8学生成绩管理功能学生成绩信息的录入,包括课程编号,学生编号,分数等信息;学生成绩信息的修改;学生成绩信息的删除;学生成绩信息的查询9系统用户管理功能系统用户信息的录入,包括用户名,密码等信息;系统用户信息的修改;系统用户信息的删除;系统用户信息的查询10用户权限管理功能用户权限信息的查询;用户权限信息的修改(只有系统管理员才拥有此权限)11系统日志管理功能系统日志信息的查询,包括(全部信息,院系管理信息,学生管理信息,奖罚信息,学籍管理信息,成绩信息,用户管理信息);系统日志信息的删除(包括单个删除,全部删除等)数据库分析:E-R 图:1nn数据库设计与实现:院系编号院系名称 院系职能院系从属学生学生编号 姓名 民族生日身份证号政治面貌学生证号居住地址学习课程课程编号课程名称授课教师课程类型设置学期课时关系模型:a)院系班级表Class(院系编号,院系名称,院系的职能描述,上级院系编号)b)学生基本信息表Student(学生编号,姓名,照片,性别,民族,生日,政治面貌,籍贯,身份证号,学生证号,家庭电话,居住地址,邮政编码,入校日期,所在院系编号,职务,备注,填表日期)c)学生教育经历记录表Experience(编号,学生编号,开始日期,终止日期,学校、单位名称,职务)d)学生奖罚表Evaluation(奖罚记录编号,奖罚日期,学生编号,奖罚类型(0表示奖励,1表示处罚),奖罚说明)e)学生学籍变动表Change(学籍变动编号,学生编号,学籍变动类型(1表示退学,2表示休学,3表示转学,4表示调班),学籍变动日期,原班级编号,转入学校名称,转入班级编号,学籍变动原因,备注)f)课程设置表Lessons(课程编号,课程名称,课程设置的学期,授课老师,课时,课程类型(必修课,选修课))g)考试成绩表Scores(课程编号,学生编号,考试分数)h)用户信息表Users(用户名,密码)i)用户权限信息表Privilege(用户名,院系管理权限标记,学生管理权限标记,奖罚管理权限标记,学籍管理权限标记,成绩管理权限标记,用户管理权限标记)j)系统日志信息表SysLog(日志编号,事件发生日期,事件发生时间,时间类型,事件标题,事件内容,操作用户名)/建立数据库//*创建院系班级表*/CREATE TABLE Classes(Class_Id Int Primary Key,Class_Name Varchar(40) NOT NULL,Describe Varchar(400),UpperId SmallInt NOT NULL)/*创建学生基本信息表*/CREATE TABLE Students(Student_Id Int Primary Key,Student_Name Varchar(50) NOT NULL, Photo Image,Sex Char(2),Nationality Varchar(40),Birth Varchar(20),Political_Party Varchar(40),Family_Place Varchar(60),Id_Card Varchar(20),BadgeID Varchar(40),Home_phone Varchar(30),Residence Varchar(100),Postcode Varchar(10),InDate Varchar(20),Class_Id SmallInt,Title Varchar(20),Memo Varchar(200),Fillin_Time Varchar(20))/*创建学生教育经历记录表*/CREATE TABLE Experience(ExpId Int Primary Key IDENTITY,Student_Id Int NOT NULL,Start_Date Char(10),End_Date Char(10),School Varchar(50),Title Varchar(20))/*创建学生奖惩表*/CREATE TABLE Evaluation(EvaId Int Primary Key IDENTITY,EvaDate Char(10) NOT NULL,Student_Id Int NOT NULL,EvaType Bit,Memo Varchar(200))/*创建学籍变动表*/CREATE TABLE Change(ChangeId Int Primary Key IDENTITY,Student_Id Int NOT NULL,ChangeType Tinyint,ChangeDate Char(10),OriClass Int,NewSchool Varchar(50),NewClass Int,Reason Varchar(200),Memo Varchar(200))/*创建课程设置表*/CREATE TABLE Lessons(LessonId Int Primary Key IDENTITY,LessonName Varchar(100),Term Varchar(20),Teacher Varchar(20),Hours Tinyint,LessonType Varchar(20))/*创建销售表*/CREATE TABLE Sale (SaleID int identity(1,1) Primary key , MerChID int NOT NULL ,SaleDate datetime NOT NULL ,SaleNum int NOT NULL,SalePrice money NOT NULL)GO/*创建考试成绩表*/CREATE TABLE Scores(LessonId Int NOT NULL,Student_Id Int NOT NULL,Score Tinyint)/*创建用户表*/CREATE TABLE Users(UserName Varchar(40) Primary Key,Pwd Varchar(40) NOT NULL)INSERT INTO Users Values('Admin', 'Admin') /*创建用户权限信息表*/CREATE TABLE Privilege(UserName Varchar(40) Primary Key,PrivClass Bit,PrivStu Bit,PrivEva Bit,PrivChange Bit,PrivScore Bit,PrivUser Bit)/*创建系统日志信息表*/CREATE TABLE SysLog(LogId BigInt Primary Key IDENTITY,LogDate Char(10),LogTime Char(10),LogType TinyInt,Title Varchar(100),Body Varchar(500),UserName Varchar(40))应用程序开发:数据库连接代码:Private Sub Connect()Dim TmpStat As Long 'SQLConnect()函数的返回值'如果连接标记为真,则返回。
大数据库实验报告材料华北电力大学

课程设计报告(2014--2015年度第2学期)名称:数据库原理课程设计题目:图书管理信息系统院系:计算机系班级:计科1203学号:学生姓名:指导教师:熊海军设计周数: 1成绩:日期:2015年6月25日《数据库原理课程设计》课程设计任务书一、目的与要求1.本实验是为计算机各专业的学生在学习数据库原理后,为培养更好的解决问题和实际动手能力而设置的实践环节。
通过这个环节,使学生具备应用数据库原理对数据库系统进行设计的能力。
为后继课程和毕业设计打下良好基础。
2.通过该实验,培养学生在建立数据库系统过程中使用关系数据理论的能力。
3.通过对一个数据库系统的设计,培养学生对数据库需求分析、数据库方案设计、系统编码、界面设计和软件调试等各方面的能力。
是一门考查学生数据库原理、面向对象设计方法、软件工程和信息系统分析与设计等课程的综合实验。
二、主要内容针对一个具有实际应用场景的中小型系统(见题目附录)进行数据库设计,重点分析系统涉及的实体、实体之间的联系,实现增加、删除、更新、查询数据记录等基本操作。
大致分为如下步骤:1. 理解系统的数据库需求,分析实体及实体间联系,画出E-R图:1.分析确定实体的属性和码,完成对该实体的实体完整性、用户自定义完整性的定义。
2.设计实体之间的联系,包括联系类型和联系的属性。
最后画出完整的E-R图。
2.根据设计好的E-R图及关系数据库理论知识设计数据库模式:1)把E-R图转换为逻辑模式;2)规范化设计。
使用关系范式理论证明所设计的关系至少属于3NF并写出证明过程;如果不属于3NF则进行模式分解,直到该关系满足3NF为止,要求写出分解过程。
3)设计关系模式间的参照完整性,要求实现级联删除和级联更新。
4)用SQL语言完成数据库内模式的设计。
3.数据库权限的设计:1)根据系统分析,完成授权操作;2)了解学习收回权限的操作。
4.完成用户界面的设计,对重要数据进行加密。
5.连接数据库,用宿主语言实现系统所需的各种操作:1)实现数据记录的录入、删除、查询和修改。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计报告( 2014--2015年度第2学期)名称:数据库原理课程设计题目:学生信息系统院系:计算机系班级:计科1203学号:************学生姓名:***指导教师:***设计周数:1周成绩:日期:2015年6月20日《数据库原理课程设计》课程设计任务书一、目的与要求1.本实验是为网络工程、信息安全等专业的学生在学习数据库原理后,为培养更好的解决问题和实际动手能力而设置的实践环节。
通过这个环节,使学生具备应用数据库原理对数据库系统进行设计的能力。
为后继课程和毕业设计打下良好基础。
2.通过该实验,培养学生在建立数据库系统过程中使用关系数据理论的能力。
3.通过对一个数据库系统的设计,培养学生对数据库需求分析、数据库方案设计、系统编码、界面设计和软件调试等各方面的能力。
是一门考查学生数据库原理、面向对象设计方法、软件工程和信息系统分析与设计等课程的综合实验。
二、主要内容针对一个具有实际应用场景的中小型系统(见题目附录)进行数据库设计,重点分析系统涉及的实体、实体之间的联系,实现增加、删除、更新、查询数据记录等基本操作。
大致分为如下步骤:1. 理解系统的数据库需求,分析实体及实体间联系,画出E-R图:1.分析确定实体的属性和码,完成对该实体的实体完整性、用户自定义完整性的定义。
2.设计实体之间的联系,包括联系类型和联系的属性。
最后画出完整的E-R图。
2.根据设计好的E-R图及关系数据库理论知识设计数据库模式:1)把E-R图转换为逻辑模式;2)规范化设计。
使用关系范式理论证明所设计的关系至少属于3NF并写出证明过程;如果不属于3NF则进行模式分解,直到该关系满足3NF为止,要求写出分解过程。
3)设计关系模式间的参照完整性,要求实现级联删除和级联更新。
4)用SQL语言完成数据库内模式的设计。
3.数据库权限的设计:1)根据系统分析,完成授权操作;2)了解学习收回权限的操作。
4.完成用户界面的设计,对重要数据进行加密。
5.连接数据库,用宿主语言实现系统所需的各种操作:1)实现数据记录的录入、删除、查询和修改。
2)以视图的形式完成复杂查询,比如多表、多条件等。
三、进度计划四、设计(实验)成果要求1.在DBMS(如oracle,SQL Server 2005/2008,DB2等)上完成完整的数据库的设计;2.使用可视化开发平台完成信息系统,要求可以正确运行;3.完成实验报告。
五、考核方式1.在微机上检查数据库模式的设计、三大完整性的设计、关系属于几范式等;2.在微机上检查系统的运行结果,要求学生阐述使用的相关技术;3.实验报告的检查。
六、题目附录1.学生信息管理信息系统2.学生成绩管理信息系统3.图书管理信息系统4.物资管理信息系统5.汽车销售管理信息系统6.超市管理信息系统7.通讯录管理信息系统8.工资管理信息系统9.酒店管理信息系统10.小区物业管理信息系统学生姓名:指导教师:年月日一、课程设计的目的与要求1.本实验是为网络工程、信息安全等专业的学生在学习数据库原理后,为培养更好的解决问题和实际动手能力而设置的实践环节。
通过这个环节,使学生具备应用数据库原理对数据库系统进行设计的能力。
为后继课程和毕业设计打下良好基础。
2.通过该实验,培养学生在建立数据库系统过程中使用关系数据理论的能力。
3.通过对一个数据库系统的设计,培养学生对数据库需求分析、数据库方案设计、系统编码、界面设计和软件调试等各方面的能力。
是一门考查学生数据库原理、面向对象设计方法、软件工程和信息系统分析与设计等课程的综合实验。
二、设计正文1.需求分析1.1学生管理信息系统可以实现登录后对学生信息进行增、删、改、查;1.2学生用学号登录后,可以根据所输入学号进行成绩查询;1.3用户可以进行注册,密码在数据库中用密文表示。
2.数据库概念设计(含ER图)3.数据库逻辑设计3.1数据库设计思路设计数据库我依照E-R图建立数据表如下:Course表字段名数据类型数据长度描述含义Cno NCHAR 10 PRIMARY KEY 课程号Cname V ARCHAR20 NOT NULL,课程名称SC表字段名数据类型数据长度描述含义Sno V ARCHAR 20 PRIMARY KEYFK-Stu.Sno 学号Cno NCHAR 10 o 课程号Grade INT 成绩User表字段名数据类型数据长度描述含义Uno V ARCHAR 20 PRIMARY KEY 用户账号Pwd NCHAR 10 PRIMARY KEY 密码Ulevel INT 级别3.2依据数据表设计如下1.学生信息表(StudenInfo)2.课程表(Course)3.选课表(SC)4.用户表(密码用密文表示)5.成绩显示视图(为了直管查看各门课程成绩,将Course中的Cname与SC表一起显示)。
3.3数据库关系图:如图关系为选课表中学号Sno外键为StudenInfo中的Sno,选课表中课程号外Cno为课程表中Cno。
4.系统编码与实现。
主要功能截图和部分核心代码:4.1登录界面:关键代码://获取连接字符串string ConnsSql =System.Configuration.ConfigurationManager.ConnectionStrings["ConnSt"].ConnectionString; SqlConnection Conn = new SqlConnection(ConnsSql);Conn.Open();//使用MD5算法加密用户口令string SecPwd =FormsAuthentication.HashPasswordForStoringInConfigFile(Password.Text,"MD5");string SelectSql = "select*from userinfo where uname='" + UserName.Text + "'and upwd='" + SecPwd + "'";4.2注册界面4.2管理主界面选择“专业”,输入“计算机”查询结果如下:关键代码:protected void Search_Click(object sender, EventArgs e){string ConnSql =System.Configuration.ConfigurationManager.ConnectionStrings["ConnSt"].ConnectionString;//声明Conn为一个SQL Server连接对象SqlConnection Conn = new SqlConnection(ConnSql);Conn.Open(); //打开连接SqlDataAdapter da = new SqlDataAdapter(); //创建DataAdapter对象string SelectSql = "";switch (MySelect.SelectedIndex){case0:SelectSql = "select * from StudentInfo where Sno like '%"+ QueryText.Text + "%'";break;case1:SelectSql = "select * from StudentInfo where Sname like '%"+ QueryText.Text + "%'";break;ase2:SelectSql = "select * from StudentInfo where Sdept like '%"+ QueryText.Text + "%'";} break;da.SelectCommand = new SqlCommand(SelectSql, Conn);DataSet ds = new DataSet();da.Fill(ds);GridView1.DataSource = ds;GridView1.DataBind();Conn.Close();}增加学生信息提交后数据库关键代码:DataRow NewRow = ds.Tables[0].NewRow(); //向DataSet第一个表对象中添加一个新行NewRow["Sno"] = StuNo.Text; //为新行的各字段赋值NewRow["Sname"] = StuName.Text;NewRow["Ssex"] = StuSex.Text;NewRow["Sdate"] = StuBirthday.Text;NewRow["Sdept"] = StuSpecialty.Text;NewRow["Semail"] = StuEmail.Text;ds.Tables[0].Rows.Add(NewRow); //将新建行添加到DataSet第一个表对象中 da.Update(ds); //将DataSet中数据变化提交到数据库(更新数据库)删除学生信息删除后数据库没有sno为201209010323的学生信息关键代码DataRow DeleteRow = ds.Tables[0].Rows[0]; //指定要删除的行索引值(删除第4条记录)DeleteRow.Delete(); //调用行删除方法da.Update(ds);查询成绩这个主要用的控件完成关键代码<td><asp:SqlDataSource ID="SqlDataSource1"runat="server"ConnectionString="<%$ ConnectionStrings:ConnString %>"SelectCommand="SELECT * FROM [scgrade] WHERE ([Sno] = @Sno)"><SelectParameters><asp:QueryStringParameter Name="Sno"QueryStringField="Sno" Type="String"/></SelectParameters></asp:SqlDataSource></td><td style="width: 406px"><asp:GridView ID="GridView1"runat="server"AutoGenerateColumns="False" DataSourceID="SqlDataSource1"Width="271px"><Columns><asp:BoundField DataField="Sno"HeaderText="学号" SortExpression="Sno"/><asp:BoundField DataField="Cno"HeaderText="课程号" SortExpression="Cno"/><asp:BoundField DataField="Cname"HeaderText="课程名称" SortExpression="Cname"/><asp:BoundField DataField="Grade"HeaderText="成绩" SortExpression="Grade"/></Columns></asp:GridView></td>三、课程设计总结这次实验主要工作分为两部分:首先是设计数据库,刚开始设计时自己没有计划,只是想到哪就做到哪,所以数据库设计过程中出现了很多错误,或者设计完后感觉数据表设计的不够完备,主键、外键设计不够周全。