中南大学数据库课程设计报告
中南大学数据库课程设计
中南大学数据库课程设计课程设计题目香水推荐系统设计指导老师周扬专业班级电子信息1303姓名蒋冰玉学号 0903130313实验日期 2015年9月目录一.前言 (3)1.面向对象 (3)2.课程设计目的 (3)3.课程设计总体要求 (3)4.课程设计要求 (3)5.开发工具 (3)6.开发任务概述 (3)二.后台程序设计 (5)1.系统E-R表构建 (5)2.SQL表格部分截图 (6)三.前台程序设计 (7)1.实验设计总体框架 (7)2.功能模块分析 (8)3.业务流程 (8)4.实验设计截图 (9)四.实验心得 (19)前言一.面向对象中南大学2015级信息科学与工程学院电子信息工程专业1301-1303班学生二.课程设计目的培养学生熟练掌握一种大型数据库系统的开发环境如ORACLE9i/10g/11g(或更高版本)或SQL SERVER2005/2008/2010(或更高版本),对其底层的数据库触发器与程序过程有深入的了解,了解并基本掌握面向数据库的C/S模式的通用开发工具如VB、PB或DELPHI或直接用语言C#或Java开发C/S模式的系统;或者采用ASP、JSP、PHP等开发技术来开发B/S模式的系统,熟悉开发一个小型应用系统的过程及主要技术。
其中基于.Net平台与J2EE平台工具套件中同时支持B/S模式与C/S模式的开发。
三.课程设计总体要求1.完成设计、程序编制、调试与检查验收2.书写完整的课程设计报告(至少20页),需求分析(要做什么事情如功能需求、信息需求、做到什么程度如性能需求、有哪些难点或关键技术),系统设计(功能模型、信息模型、数据库设计、典型处理流程或算法、典型的后台处理如触发器或过程所涉及到的逻辑等)、系统实现及关键技术、总结与展望等章节。
3.数据库与大型程序的对象命名规则一定为XXX_班号(+)学号尾4位例如car_master_10104即表示车辆主要信息表,为1班,学号尾数是0104设计的表结构,cloth_Detail_42309即表示衣服信息明细表,为4班,学号尾数是2309设计的表结构,对象(包括大的程序对象及程序名等)如果不能体现班级及学号等信息,则视为程序不合要求,程序部分成绩可能不合格。
中南大学数据库实验报告1
数据库实验报告实验2数据库与表的操作【实验目的与要求】1.熟悉SQLSERVER2005或以上版本的安装,以及基本操作;2.熟练掌握数据库的创建方法,以及相关参数的设置;3.掌握数据表的创建、编辑、删除操作;4.掌握数据表数据的操作;5.数据导入导出。
【实验内容与步骤】在地籍空间数据库中,存在界址点(点号、X、Y)、宗地(宗地号、权属人、地点、面积)、街坊(编号、名称、负责人、联系电话)、宗地图纸(图号、图名、测量员、测量日期)、测量单位(单位编号、单位名称、负责人、联系电话)、测量员(工号、姓名、职称)实体,实体关系如下:一个界址点可以属于多个宗地,一个宗地由多个界址点构成,一个宗地只能属于一个街坊,一个街坊有多个宗地,一个宗地有一张宗地图,一张宗地图由一个测量员测量并制图,一个测量员属于一个测量单位,一个测量单位由多个测量人员组织。
1.给Management Studio创建新连接对象,使用2种以上方法停止、开启MSSQLSERVER服务;2.使用Management Studio界面创建数据库Cadastre;3.使用SQL语句创建数据库Cadastre;CREATE DATABASE[Cadastre]ON PRIMARY(NAME='Cadastre',FILENAME='D:\Cadastre.mdf',SIZE=5MB ,MAXSIZE=50MB, FILEGROWTH= 10% )LOG ON(NAME='Cadastre_log',FILENAME='D:\Cadastre_log.ldf',SIZE=2MB,MAXSIZE= 5MB ,FILEGROWTH=1MB)4.利用ManagementStudio界面创建界址点、宗地两个数据表;找到新建的数据库Cadastre-表-右键-新建表,设置相关信息,最后保存,为表起个名字。
中南大学 数据库系统安全课程设计报告
CENTRAL SOUTH UNIVERSITY数据库系统安全课程设计报告题目大学学生成绩管理系统学生姓名专业班级学号学院信息科学与工程学院指导教师李祖德实验时间 2015年01月目录第一章问题描述及设计目标 (2)第二章系统需求分析 (3)2.1 需求描述 (3)2.2 系统功能结构 (3)2.3 数据流图 (4)第三章数据库设计 (5)3.1 全局E-R图 (5)3.2 数据字典 (5)3.3 数据库内关系表定义 (7)第四章数据库实现 (8)4.1 数据库创建SQL代码 (8)4.2 关系表(及相关视图)创建SQL代码 (8)4.3 存储过程、触发器等的创建SQL代码 (14)第五章 RBAC应用场境描述 (18)5.1 场境1描述 (18)5.2 场境2描述 (20)5.3 场境3描述 (22)5.4 场境4描述 (23)第六章心得体验 (26)第七章总结 (26)第一章问题描述及设计目标1.1 问题描述随着学校规模的不断扩大,专业、班级、学生的数量急剧增加,有关学生选课的各种信息量也成倍增长,而目前许多高校的学生成绩管理仍停留在复杂的人工操作上,重复工作较多,工作量大,效率低。
除此之外,虽然大量数据库实现了基于角色的访问控制功能,却没有对其特征集达成一致。
缺乏广为接受的模型,导致了对基于角色的访问控制作用和含义理解的不规范性和不确定性。
基于以上情况,为了解决学生成绩查询和管理上遇到的实际困难,设计了一套基于RBAC模型的大学学生成绩管理系统,使学生成绩的录入和管理更加信息化、智能化,使成绩的查询更加高效,系统价值有了更高的体现。
1.2 设计总目标(1)掌握如何在真实数据库系统中实现基于角色访问控制(RBAC)模型。
(1)掌握如何在特定软件系统中基于RBAC模型访问和操控数据库。
1.3 设计总要求•在真实数据库系统中实现RBAC模型•开发应用演示界面,演示如何基于RBAC访问某数据库o演示界面最好是可实际操作的可视化界面,要能演示。
中南大学数据库实验报告
中南大学数据库实验报告学院:信息科学与工程学院专业班级:学号:姓名:指导老师:目录实验一:创建表和实施数据完整性 --------------------- 1 实验二:存储过程与触发器 --------------------------- 11 实验三:视图、事务与游标 --------------------------- 15 数据库关系图 --------------------------------------- 21 参考书籍 ------------------------------------------- 22实验1:创建表和实施数据完整性1.运行给定的SQL Script,建立数据库GlobalToyz。
了解表的结构。
2.利用系统预定义的存储过程sp_helpdb查看数据库的相关信息,例如所有者、大小、创建日期等。
3.利用系统预定义的存储过程sp_helpconstraint查看所有表中出现的约束(包括Primary key, Foreign key, check constraint, default, unique)4.对表Toys实施下面数据完整性规则:(1)玩具的现有数量应在0到200之间;(2)玩具适宜的最低年龄缺省为1。
查询、更新数据库1.显示属于California和Illinoi州的顾客的名、姓和emailId。
SELECT vFirstName,vLastName,vEmailIdFrom ShopperWHERE cState='California' or cState='Illinoi';2.显示定单号码、顾客ID,定单的总价值,并以定单的总价值的升序排列。
SELECT cOrderNo,cShopperId,mTotalCostFrom OrdersORDER BY mTotalCost ASC;3.显示在orderDetail表中vMessage为空值的行。
数据库课程设计实习报告
数据库课程设计实习报告一、实习目的与意义本次数据库课程设计实习旨在加深我对数据库理论知识的理解,通过实际操作掌握数据库管理系统的基本操作技术,提高我运用数据库技术解决实际问题的能力。
在实习过程中,我使用了具体的DBMS(MySQL),并掌握了数据库前端开发工具(如Java)的使用,进一步提升了我的数据库技术水平。
二、实习内容与过程1. 实习平台与工具本次实习使用的数据库为MySQL,页面及朱语句为Java,开发工具为Eclipse。
2. 实习内容(1)数据库设计:根据需求分析,设计教务管理系统的数据库表结构,包括教师、学生、班级、系、课程等实体。
(2)数据库操作:利用Java实现对数据库的增删改查操作,包括连接数据库、编写SQL语句、处理查询结果等。
(3)前端界面设计:使用Java编写教务管理系统的用户界面,实现对数据库的交互操作。
(4)安全性测试:对数据库进行安全性测试,确保数据的安全性。
(5)功能测试与优化:对教务管理系统进行功能测试,发现问题并进行优化。
三、实习成果与收获1. 掌握了MySQL数据库的基本操作,包括创建数据库、表、插入数据、查询数据等。
2. 学会了使用Java编写数据库操作代码,实现了对数据库的增删改查操作。
3. 熟悉了教务管理系统的数据库设计,了解了各实体之间的关系。
4. 提高了运用数据库技术解决实际问题的能力,培养了团队协作和编程调试能力。
5. 深入理解了数据库理论知识的实际应用,为今后从事数据库相关领域的工作奠定了基础。
四、实习总结通过本次数据库课程设计实习,我对数据库理论知识有了更深刻的理解,掌握了数据库管理系统的实际操作技术,提高了运用数据库技术解决实际问题的能力。
同时,我也认识到数据库技术在软件开发中的重要性,为今后的学习和工作打下了坚实的基础。
在实习过程中,我学会了与团队成员沟通协作,锻炼了编程调试能力,培养了面对挑战解决问题的信心。
总之,本次实习对我来说是一次宝贵的学习和锻炼机会,使我受益匪浅。
中南大学 数据库 银行管理系统
中南大学《数据库系统安全与管理》课程设计报告题目银行管理系统学生姓名学号指导教师学院专业班级完成时间目录第一章绪论 (3)1.1 课题研究背景 (3)1.2 课题研究目的 (3)1.3 课题要求 (3)第二章系统需求分析 (1)2.1 系统流程分析 (1)2.2 系统功能需求分析 (1)2.3 系统功能图 (2)第三章系统总体设计 (4)3.1系统功能模块设计 (4)3.2 系统开发技术 (5)第四章数据库设计 (6)4.1 数据库概念结构设计 (6)4.2数据库逻辑结构设计与实现 (7)第五章功能模块的设计与实现 (10)5.1 银行服务模块 (10)5.2系统管理模块 (24)5.2.1业务描述 (24)5.2.3操作界面 (27)5.3网上服务模块 (29)5.4 安全性控制需求 (29)参考文献 (32)第一章绪论1.1 课题研究背景在计算机技术和网络技术没有得到全面普及以前,各企业和行政单位,在办工时,都要记录大量的数据,这些数据还要保存到文档里,不仅消耗大量的脑力,还要占据大量的空间。
特别是银行工作人员在办理各项业务时,不仅要需要大量的计算和统计,而且需要数据准确、精密。
所以,工作人员在处理业务时,容易出现不可避免的错误。
随着计算机技术和网络技术的快速发展,电脑和INTERNET进入了个行政企业,甚至平常家庭。
因此,编写一个处理银行定期管理的应用系统是很有必要的。
进行计算机计算和管理储户信息,银行存款等各项数据。
避免人类因疲惫或者其他原因造成的错误工作。
1.2 课题研究目的通过模拟银行账户的管理,开发一个银行个人账户管理系统银行账户管理系统。
设计的指导思想是一切为使用者着想,界面要美观大方,操作尽量简单明了,而且作为一个实用的管理系统要有良好的容错性,在出现误操作时能尽量及时地给出警告,以便用户及时地改正。
计算机的资源是受到限制的,设计出功能强大的软件,同时要尽可能地减少对系统资源的占用。
中南大学数据库实践报告
中南大学本科生课程设计(实践)报告(SQL数据库程序设计)题目汽修店管理系统学生姓名指导教师学院湘雅医学院专业班级临床(五)1112班学生学号计算机基础教学实验中心2012年 6 月 26 日汽修店管理信息系统摘要:处在当今数字信息时代,各行各业都离不开电子信息管理系统的协助管理,在商业中作用的尤为重要。
汽修店要想管理庞大的汽车配件信息,要迅速查询配件的信息就必须得依靠管理系统来进行。
该系统将实现对汽修店配件信息的管理(包括添加、删除等),还包括对相关信息的查询等功能。
由完整的SQL数据库,窗体有完整的数据录入检查机制,登录窗口等构成统一整体,实现系统的运行与增强实用性。
关键词:SQL server数据库组件;SQL Translate 语言;汽修店管理系统;窗体;Visual Basic 6.0中文版;控件联接。
1.企业系统开发设计思想此次课程设计,设计的是一个汽修店管理系统。
该系统是立足于SQL sever数据库,利用VB程序开发工具,设计的一个运用于汽修店管理的程序。
(1)通过对汽修店管理工作过程的内容和数据流图分析,设计如下面的数据项。
①配件信息包括的数据项有:配件编号、制造商、质量规格、适用车型等。
②制造商信息包括的数据项有:制造商编号、制造商、国籍、配件、简介。
(2)数据库概念结构设计根据以上的设计方案,我做出了对各个数据结构的E-R分析图。
(3)系统概念结构设计2.汽修店管理系统功能及系统设计介绍汽修店管理系统要实现的主要功能是能对汽修店中的配件以及制造商信息进行查询和编辑管理,从而更好地进行汽车维修服务。
能通过查询特定的配件或制造商而得到相应制造商或配件的基本信息。
与此同时能够及时的添加或者删除相应的配件和制造商信息,实现管理系统的信息更新。
根据设计思想分析及数据关系图的建立,首先建立了相关联的数据库,其次设计出有如下功能的汽修店管理系统。
(1)窗体的制作○1登陆窗口这个窗口为进入整个系统的通道,用户只有在此窗口中输入正确的用户名和密码,才可进入此系统。
中南大学数据库课程设计报告
数据库课程设计报告学院:信息科学与工程学院专业班级:物联网工程1201班指导老师:***学号:***********名:**日期:2015年1月10日目录课程设计要求 (3)概要设计:(数据库) (5)概要设计:(程序) (7)详细设计(数据库) (8)详细设计(程序) (11)系统展示 (12)安全性控制 (19)关键技术 (20)心得体会 (20)《数据库课程设计》任务书1 任务概述某医院拟开发一个挂号系统,以方便患者就医,提高医疗服务水平。
患者在医院就诊前需要提供姓名、身份证号码、联系电话等个人信息并办理一张诊疗卡,该诊疗卡在每次挂号时需要出示给挂号的工作人员。
患者在挂号时,需说明科室名称以及医生的职称。
挂号以半个工作日为一个班次,系统中保存各科室门诊医生的排班表,每位医生每个班次能够接诊的病人人数可设置一个上限。
本次课程设计要求设计并实现一个虚拟的医院挂号系统。
系统中包含两个子系统,即由医院内部工作人员使用的挂号系统,以及患者使用的网上预约挂号系统。
其中网上预约挂号系统的前端要求是浏览器,即采用B/S模式开发。
医院工作人员使用的挂号系统采用C/S 模式开发,前端开发工具不限,可采用PowerBuilder, Delphi, VB,VC,Java等。
后台数据库要求采用SQL SERVER2005或Oracle 11g及以上版本。
2 功能描述2.1 医院工作人员使用的挂号系统该系统仅供医院内部工作人员使用,主要分为挂号人员和系统管理人员两类角色,需提供以下功能:1)办理诊疗卡。
患者提供姓名、身份证号码、联系电话等个人信息,挂号人员为其办理一张长期有效的诊疗卡。
2)挂号。
挂号人员根据患者要求的科室、医生职称分配一个候诊号,并收取相应的诊疗费用,诊疗费用根据医生的职称分为不同的档次。
医生当班次接诊患者人数不能超过预先设定的上限。
3)修改挂号。
患者可更改就诊的科室,挂号人员根据更改后的科室和医生职称,重新计算诊疗费用的差值,多退少补。
中南大学数据库技术与应用
5
图 1.4 员工首页
第二章 数据库结构设计
2.1 概念结构设计的方法与步骤
2.1.1 概念结构设计的方法
本系统采用自底向上的概念结构设计方法。即首先定义各局部应用的概念结 构,然后将它们集成起来得到全局概念模式。
2.1.2 概念结构设计的步骤
概念结构设计可分为两个步骤:
1、抽象数据并设计局部视图。就是对需求分析阶段收集到的数据按照 E-R 模型的要求进行分类、组织,形成实体的属性,标识实体的键,确定实体之间的 联系类型,设计分 E-R 图。
身份证号
性别
结算日期 联系方式
身份证号
登陆账号
员工信息
员工姓名
密码
性别
7
2.2 逻辑结构设计步骤
2.2.1 E-R 图向系统关系模式的转换
有了基本 E-R 图后,就可以进行逻辑结构设计了,也就是设计基本的关系模 型。设计基本关系模式主要是从 E-R 图出发,将其直接转换为关系模式。根据转 换规则,这个 E-R 图转换的关系模式为: 1)客房类型(类型编号、类型名称、床位数量、空调有无、电视有无、卫生间 有无、价格),主码为类型编号; 2)客房(客房编号、客房类型、客房空闲与否、价格、备注),主码为客房编号; 3)订房(订房编号、客房编号、顾客姓名、备注、结算金额),主码为订房编号; 4)顾客(姓名、性别、身份证号、入住日期、结算日期、联系方式),主码为身 份证号; 5)员工(姓名、性别、身份证号、登陆账号、密码)
第四章 总结与展望…………………………………………19 附:Delphi 源代码…………………………………………20
2
第一章 需求说明
1.1 宾馆信息管理系统简介
中南大学数据库实验报告实验二基本数据查询
中南大学数据库实验报告实验二基本数据查询1. 实验目的本次实验旨在让学生掌握基本的数据查询操作,包括使用SELECT语句查询表中的数据,并运用WHERE子句进行条件查询。
2. 实验环境•数据库管理系统:MySQL•开发工具:Navicat Premium•操作系统:Windows 103. 实验步骤3.1 数据库及表的创建首先,为本实验创建一个名为university的数据库,并在其中创建一个名为students的表。
markdown sql CREATE DATABASE university;USE university;CREATE TABLE students ( id INT PRIMARY KEY, name VARCHAR(50), age INT, gender VARCHAR(10), major VARCHAR(50) );3.2 插入测试数据在students表中插入一些测试数据,以便进行查询操作。
markdown sql INSERT INTO students (id, name, age, gender, major) VALUES (1, ‘张三’, 20, ‘男’, ‘计算机科学与技术’);INSERT INTO students (id, name, age, gender, major) VALUES (2, ‘李四’, 22, ‘女’, ‘软件工程’);INSERT INTO students (id, name, age, gender, major) VALUES (3, ‘王五’, 21, ‘男’, ‘电子信息工程’);INSERT INTO students (id, name, age, gender, major) VALUES (4, ‘赵六’, 23, ‘女’, ‘通信工程’);3.3 使用SELECT语句查询数据按照实验要求,我们需要运用SELECT语句查询学生姓名为’张三’的信息。
数据库课程设计可修改.doc
this.dgv0.ColumnHeadersBorderStyle =DataGridViewHeaderBorderStyle.Single;
this.dgv0.ColumnHeadersDefaultCellStyle.Alignment =DataGridViewContentAlignment.MiddleCenter;
this.dgv0.DefaultCellStyle.Font =newFont("宋体", 9,FontStyle.Regular,GraphicsUnit.Point);
中南大学
数据库课程设计报告
题目:工资管理系统
专业班级:计科0613班
学号:0902061309
姓名:邹雪梅
指导老师:刘嫔老师
时间:2010-1-17
中南大学·信息科学与工程学
一概述……………………………………………………………………………………………………..3
1.1项目背景…………………………………………………………………………………………..3
三 数据库设计
1
2
加班信息:
部门信息:
员工信息:
工种信息:
考勤信息:
3
等等。。。
4
四
1
基本工种、基本工资的管理:实现基本工种、基本工资的增删改查;
公司部门、部门津贴:实现公司部门、部门津贴的增删改查;
员工管理:实现员工信息的增删改查;
加班类型、加班津贴的管理:实现加班类型、加班津贴增删改查;
中南大学大型数据库实验报告
实验2 自动编号问题实验学时: 2每组人数: 1实验类型: 3 (1:基础性2:综合性3:设计性4:研究性)实验要求: 1 (1:必修2:选修3:其它)实验类别: 3 (1:基础2:专业基础3:专业4:其它)一、实验目的1. 学习Oracle数据库的基本操作;2. 学习Oracle数据库的简历及创建;3. 学习使用Oracle的sequence;4. 学习使用存储过程;5. 学习使用删除操作。
二、实验内容1、医院门诊挂号,要求号连续,并且退的号要能重用。
每次挂号向号表中插入一条记录,退号从号表中删除一条记录,请设计一个方案来实现2、可以考虑sequence三、实验要求1. 熟练使用Oracle的基本操作;2. 熟练使用Oracle sequence;3. 使用存储过程来实现挂号、退号;四、实验步骤1. 打开Oracle数据库;2. 创建表;3. 创建序列;4. 创建过程;5. 调用过程五、实验结果创建代码:运行结果:六、实验小结在本次试验中我们学会了Oracle的基本操作和表的创建过程,序列的创建,过程的创建和触发器的创建过程。
在使用存储过程实现挂号、退号,存储过程的结构的使用过程中,出现一些错误,后来在网上找到了解决的办法。
实验3 考生分类问题实验学时: 2每组人数: 1实验类型: 3 (1:基础性2:综合性3:设计性4:研究性)实验要求: 1 (1:必修2:选修3:其它)实验类别: 3 (1:基础2:专业基础3:专业4:其它)一、实验目的1. 学习Oracle数据库的基本操作;2. 学习Oracle数据库的简历及创建;3. 学习使用Oracle的sequence;4. 学习使用存储过程;5. 学习自动归类。
二、实验内容某高校的研究生招生系统,要求对考生的成绩进行处理,根据每门专业课的最低分数线和总分的最低分数线自动将考生归类为录取考生或落选考生。
三、实验要求1. 熟练使用Oracle的基本操作;四、实验步骤1. 打开Oracle数据库;2. 创建表;3. 插入数据;4. 创建序列5. 创建存储过程;5. 执行过程五、实验结果创建代码:运行结果:六、实验小结在本次试验中我们学会了Oracle的基本操作和表的创建过程,序列的创建,过程的创建和插入数据与执行过程过程。
中南大学大型数据库报告
中南大学大型数据库报告学生姓名学院信息科学与工程学院专业班级计科120x《大型数据库技术》实验一1.创建一个本地位图管理表空间CAP_ts,表空间对应一个数据文件CAP_ts.dbf,该数据文件初始大小为20M,可以自动扩展。
CREATE TABLESPACE CAP_ts datafile 'CAP_ts.dbf' size 20M reuse extent management local autoallocate;ALTER DATABASE DEFAULT TABLESPACE CAP_ts;2.在表空间CAP_ts中创建表Customers、Products和Agents,其中列cid、pid、aid分别为这3张表的主键。
向表中添加如下数据(可首先将表中数据放入EXCEL表,然后在SQL Developer中导入数据库)。
CREATE TABLE Customers(cid V ARCHAR(5) PRIMARY KEY NOT NULL,cnaem V ARCHAR(10),city V ARCHAR(10),discount REAL);CREATE TABLE Products(pid V ARCHAR(5) PRIMARY KEY NOT NULL,pnaem V ARCHAR(10),ity V ARCHAR(10),quantity NUMBER(10),price REAL);CREATE TABLE Agents(aid V ARCHAR(5) PRIMARY KEY NOT NULL,anaem V ARCHAR(10),city V ARCHAR(10),percent NUMBER(3));insert into Customers values('C001','TipTop','Duluth',10.00);insert into Customers values('C002','Basics','Dallas',12.00);insert into Customers values('C003','Allied','Dallas',8.00);insert into Customers values('C004','ACME','Duluth',8.00);insert into Customers values('C005','Oriental','Kyoto',6.00);insert into Customers values('C006','ACME','Kyoto',0.00);insert into Products values('P01','comb','Dallas',111400,0.50);insert into Products values('P02','brush','Newark',203000,0.50);insert into Products values('P03','razor','Duluth',150600,1.00);insert into Products values('P04','Pen','Duluth',125300,1.00);insert into Products values('P05','pencil','Dallas',221400,1.00);insert into Products values('P06','folde','Dallas',123100,2.00);insert into Products values('P07','case','Newark',100500,1.00);insert into Agents values('A01','smith','New York',6);insert into Agents values('A02','Jones','Newark',6);insert into Agents values('A03','Brown','Tokyo',7);insert into Agents values('A04','Gray','New York',6);insert into Agents values('A05','Otasi','Duluth',5);insert into Agents values('A06','smith','Dallas',5);3.通过数据字典视图查看是否已创建表Customers、Products和Agents,以及每个表的存储参数设置。
数据库课程设计实验报告
数据库课程设计实验报告一、实验目的本实验旨在通过设计和实现一个数据库应用系统,提高学生对数据库原理的理解和实践能力。
具体目标包括:1. 了解数据库设计的基本原理和方法;2. 掌握数据库应用系统的设计和实现方法;3. 学习使用数据库管理系统(DBMS)进行数据库操作;4. 实践使用SQL语言进行数据库查询和数据处理;5. 培养软件工程和团队协作能力。
二、实验内容1. 需求分析:通过与用户的交流与了解,明确数据库应用系统的功能需求和性能要求,并进行需求分析和模型建立。
2. 数据库设计:根据需求分析的结果,设计数据库的逻辑结构和物理结构,包括数据模型的选择、实体-关系模型的设计、表的设计和各种约束关系的定义。
3. DBMS的选择与安装:根据数据库设计的需求和性能要求,选择合适的数据库管理系统,并进行安装和配置。
4. 数据的导入与导出:将实验所需的数据导入到数据库中,并进行数据的备份和恢复。
5. 数据库查询和操作:通过SQL语言进行数据库的查询、插入、更新和删除操作,包括单表查询、多表查询、排序和分组等操作。
6. 应用系统的设计与实现:根据数据库设计的结构,设计应用系统的界面和交互逻辑,并进行编码和测试。
7. 性能优化:通过索引的设计和优化、查询的优化和分析,提高数据库应用系统的性能和效率。
8. 安全与权限管理:设计并实现数据库的用户权限管理和数据安全机制,保护数据库的安全性和完整性。
三、实验步骤1. 根据实际情况选择合适的数据库应用系统主题,并进行需求分析和模型建立。
2. 根据需求分析的结果,设计数据库的逻辑结构和物理结构,包括数据模型的选择、实体-关系模型的设计、表的设计和各种约束关系的定义。
3. 根据数据库设计的需求和性能要求,选择合适的数据库管理系统,并进行安装和配置。
4. 将实验所需的数据导入到数据库中,并进行数据的备份和恢复。
5. 使用SQL语言进行数据库的查询、插入、更新和删除操作,包括单表查询、多表查询、排序和分组等操作。
中南大学数据库实践报告
超市形式在我国于 20 世纪 90 年代初期起步,现已成为我国零售业的一种重 要形态。随着超市的高速发展,其经营管理也变得愈加复杂,早期的售货员站柜 台的形式已不能满足现有的发展这样就迫切地需要引进新的思想技术和管理技 术进入到超市管理中。20 世纪 90 年代后期特别是近几年,我国的超市产业飞速 发展,其经营模式更为复杂,旧的管理体制已经无法适应超市的发展,这就迫切 的需要引进新的管理技术。超市的数据和业务越来越庞大,而计算机就是一种高 效的管理系统,这就需要我们把超市的管理与计算机结合起来,从而超市管理系 统应运而生。依靠现代化的计算机信息处理技术来管理超市,节省了大量的人力、 物力,改善了员工的并且能够快速反映出商品的进、销、存等状况和各种反馈信 息分析,使管理人员快速对市场的变化做出相应的决策,加快超市经营管理效率。
商 品 信 息 管 理
↓
信
信
信
息
息
息
添
修
删
加
ห้องสมุดไป่ตู้
改
除
小型超市管理系统
↓
进
员
货
工 信
统
息
计
管
管
理
理
↓
↓
员
进
进
中南大学数据库实验
中南大学电子技术课程设计题目:数据库实验报告学院:信息科学与工程学院专业班级:电子信息1002班学号:学生姓名:指导老师:张祖平实验一、熟悉ORALCE环境并练习SQL的定义一、目的与要求本实验主要是熟悉ORACLE的运行环境,在CLIENT端进行联接设置与服务器联通,进入ORACLE的SQL*PLUS的操作环境,进一步建立表格,并考虑主键,外部键,值约束。
二、操作环境硬件:主频2GHz以上服务器(内存2GB以上、硬件空闲2.2GB以上),主频1GHz以上微机,内存1GB以上。
软件:WINDOWS XP/2000/2003 SERVER 可安装ORACLE/9i/10g/11g/13i FOR NT/WINDOWS(注意在32位与64位的区别,可选企业版) 如果windows非server如XP等,安装时请选择个人版(PERSONAL)三、实验内容1.上机步骤单机版:(1)先启动PERSONAL ORACLE(START DATABASE)(2)用sql*plus登录(开始--程序-ORACLE FOR WIN-SQLP*PLUS(与网络版相同)进入SQL*PLUS用户名:SYSTEM/manager (其中manager为缺省口令,安装需要设定,根据设定的密码进行相应变化;不要数据库联接串,其中SYSTEM为DBA用户)还有一般用户scott/tiger(3)进入SQL>状态,可以执行SQL中的任何命令(建表,插入、删除、修改、查询等),还可建立用户、数据库等操作。
(4)退出,在SQL>状态,EXIT回车网络版:在实验室上机时,一般安装时管理员已设置好.先找到windows中的oracle服务(一般为oracleserviceORCL),启动此服务,再找到sql*plus所在的位置(一般桌面上有),运行即可进行登录界面.实验室现有环境操作步骤:(1)打开控制面板,――>管理工具――>服务――>启动Oracle ServiceORCL或者如图通过界面或资源管理器右键找到管理:再找服务:启动的服务如下或有OracleService****的服务:(2)从桌面执行SQL*PLUS或在程序中(3)输入:system/manager(4)在SQL>状态输入建立用户命令:create user username identified by password;其中username与password不要数字开头,用户名username中按规则加班级学号后缀如:U_31521表示3班学号尾数为1521号的用户。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库课程设计报告学院:信息科学与工程学院专业班级:物联网工程1201班指导老师:***学号:***********名:**日期:2015年1月10日目录课程设计要求 (3)概要设计:(数据库) (5)概要设计:(程序) (7)详细设计(数据库) (8)详细设计(程序) (11)系统展示 (12)安全性控制 (19)关键技术 (20)心得体会 (20)《数据库课程设计》任务书1 任务概述某医院拟开发一个挂号系统,以方便患者就医,提高医疗服务水平。
患者在医院就诊前需要提供姓名、身份证号码、联系电话等个人信息并办理一张诊疗卡,该诊疗卡在每次挂号时需要出示给挂号的工作人员。
患者在挂号时,需说明科室名称以及医生的职称。
挂号以半个工作日为一个班次,系统中保存各科室门诊医生的排班表,每位医生每个班次能够接诊的病人人数可设置一个上限。
本次课程设计要求设计并实现一个虚拟的医院挂号系统。
系统中包含两个子系统,即由医院内部工作人员使用的挂号系统,以及患者使用的网上预约挂号系统。
其中网上预约挂号系统的前端要求是浏览器,即采用B/S模式开发。
医院工作人员使用的挂号系统采用C/S 模式开发,前端开发工具不限,可采用PowerBuilder, Delphi, VB,VC,Java等。
后台数据库要求采用SQL SERVER2005或Oracle 11g及以上版本。
2 功能描述2.1 医院工作人员使用的挂号系统该系统仅供医院内部工作人员使用,主要分为挂号人员和系统管理人员两类角色,需提供以下功能:1)办理诊疗卡。
患者提供姓名、身份证号码、联系电话等个人信息,挂号人员为其办理一张长期有效的诊疗卡。
2)挂号。
挂号人员根据患者要求的科室、医生职称分配一个候诊号,并收取相应的诊疗费用,诊疗费用根据医生的职称分为不同的档次。
医生当班次接诊患者人数不能超过预先设定的上限。
3)修改挂号。
患者可更改就诊的科室,挂号人员根据更改后的科室和医生职称,重新计算诊疗费用的差值,多退少补。
4)查询挂号情况。
挂号人员可查询某位医生目前的挂号情况。
5)挂号费当班结转。
系统对每个班次收取的挂号费生成相应的统计表,并提供查询功能,包括该班次总的挂号费用、各个挂号人员该班次总的挂号费用、各位医生该班次总的挂号费用。
6)参数维护。
系统管理人员负责维护各种参数,包括科室、医生、医生排班表、号类字典。
医生的基本信息、排班表、诊疗费标准、各班次医生接诊人数上限都是可以修改的,尽量提高系统的灵活性和可扩展性。
7)系统维护。
系统管理人员负责管理用户、分配权限、管理密码。
2.2 网上预约挂号系统该系统供患者使用,需提供以下功能:1)用户注册。
提供注册所需基本信息,必须实名注册。
2)用户可修改注册信息。
3)用户可查询指定时间的某科室的医生排班表。
4)用户可以在网上预约挂号。
系统不提供当日预约服务,用户可预约部分科室次日至一个月内的就诊号源。
同一患者实名(有效证件号)在同一就诊日、同一科室只能预约一次;在同一就诊日的预约总量不可超过两次;在一个月内的预约总量不可超过三次。
2.3 安全性控制要求1)所有用户密码在数据库中都要求加密存储。
2)网上预约挂号系统要进行输入验证,防止SQL注入。
3)系统管理员只能进行系统维护和参数维护,不能进行挂号操作。
实验环境:电脑:联想G460操作系统:Windows8.1 64位语言:Java、JavaScript、JSP、HTML、SQL编程工具:Eclipse IDE for Java EE Developers(Kepler版)数据库:MySQL 5.6.21数据库工具:MySQLWorkbench 6.2 CE、navicat其他工具:Sublime Text 2概要设计:(数据库)E-R图除了上面的E-R图,数据库中还有另外三张表,分别是管理员表(Administrator)、员工表(Worker)、结算表(Calculate)物理模型用MySQLWorkbench所建管理员表、员工表、结算表备注:由于数据库模型是在课设最初建立的,后期根据编程的需求对表结构有了不少修改,虽然后来根据对表的修改已经对Model进行了更新,但可能仍有略微不同概要设计:(程序)系统主要功能管理员更改科室更改职称排班表管理用户管理密码办理诊疗卡挂号员工修改挂号挂号结算详细设计(数据库)表结构Doctor表(医生表)Patient表(诊疗卡表)Arrangement表(排班表)Orderregist表(挂号表)Calculate表(结算表)DoctorLevel表(级别表)备注:其他几张表结构太简单,就不一一列举了。
视图该系统中暂时只用到了一个视图,用于将Doctor表、Arrangement表、Doctorlevel表、Department表Join起来,方便查询。
存储过程一共用到了4个存储过程分别是procedure_calculate:用来结算procedure_find_registinfo:用来找到挂号信息procedure_regist:用来挂号procedure_update_regist:用于修改挂号下面是procedure_regist的部分代码:if regcount > 0THENinsert into orderregistV ALUES(null,patId,doId,deId,regDate,regTime,cost,worId,isCalculate);update arrangement set ArrangeAccptCount = ArrangeAccptCount - 1;END IF;这里用来判断剩余的接诊人数是否大于零,如果大于零则能挂号,否则不能。
详细设计(程序)如上图所示,整个系统写了很多个类,很多个jsp页面,以下介绍一下各个包的功能,然后就几个重要的类简单介绍一下。
Action包:主要是对用户和管理员的Action事件进行处理。
App包:许多个Thread类,用于务器与客户端进行通讯。
Bean包:许多bean类,也是为JavaBean技术服务的重要一部分。
Commom包:许多公共类,包括:Conf类:通讯协议。
Constants类:SQL语句集合。
Dbcp类:获取数据库连接对象。
Log类:为了调试所用(跟系统功能关系不大)PageBean类:分页类Dao包:许多对数据库的操作。
ViewAdmin包:管理员界面包。
ViewWorker包:工作人员界面包。
WebContent中Main包,主要是包含很多JSP页面。
系统展示C/S端以员工身份登录后,可以看到如下图所示。
系统中有诊疗卡的操作、预约挂号、挂号信息的查看与修改、排班表、挂号费结算。
添加诊疗卡的信息双击表格后,弹出对信息修改界面预约挂号界面,可以选择挂号的日期已经班次。
然后系统会根据时间和班次、科室、级别筛选出医生。
这里可以查到挂号的信息。
排班信息挂号费的结算(前两条信息是我手动添加的)以管理员身份登陆后,可以看到如下图所示。
系统中有科室的操作、医生、排班表、工作人员、诊疗费标准。
可以对诊疗费用进行修改其他功能大同小异,就不一一列举了。
B/S端B/S端登录界面B/S端主界面B/S端注册界面信息查看和修改查看医生排版表预约挂号界面安全性控制MD5加密MD5的全称是Message-Digest Algorithm 5(信息-摘要算法),在90年代初由MIT Laboratory for Computer Science和RSA Data Security Inc的Ronald L. Rivest开发出来,经MD2、MD3和MD4发展而来。
---摘自百度百科关键代码如下:private static String encodeByMD5(String originString){if (originString != null){try{MessageDigest md = MessageDigest.getInstance("MD5");//使用指定的字节数组对摘要进行最后更新,然后完成摘要计算byte[] results = md.digest(originString.getBytes());//将得到的字节数组变成字符串返回String resultString = byteArrayToHexString(results);String pass = resultString.toUpperCase();return pass;} catch(Exception ex){ex.printStackTrace();}}return null;}防SQL注入SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,其主要原因是程序没有细致地过滤用户输入的数据,致使非法数据侵入系统。
根据相关技术原理,SQL注入可以分为平台层注入和代码层注入。
前者由不安全的数据库配置或数据库平台的漏洞所致;后者主要是由于程序员对输入未进行细致地过滤,从而执行了非法的数据查询。
基于此,SQL注入的产生原因通常表现在以下几方面:①不当的类型处理;②不安全的数据库配置;③不合理的查询集处理;④不当的错误处理;⑤转义字符处理不合适;⑥多个提交处理不当。
---摘自百度百科在JSP中,我都是采用的setParameter的方法来传递参数,也就是采用post方式来传参,因此大大降低了SQL注入的风险此外,在登录等含有输入框的地方,我也都验证了输入的合法性,过滤了所有的可疑字符。
关键技术1、在C/S端,主要用到了信息的加密技术,防注入技术,其他的更多的是对Java编码能力的考量。
2、在B/S端,用到了JavaBean、JSP、EL、JavaWeb对数据库的操作以及加密技术,防注入等等技术心得体会经过近一个月紧张的数据库课程设计,加之中间还夹杂着两个考试,自己已经累得不成样子了。
不过,虽然很累,但是自己还是学到了不少的东西。
以下分几个方面谈谈自己的心得。
1、对Java编程能力的提高。
编完这个系统,我用Eclipse计算了一下,光Java代码就有5800多行,中间也用到了继承、接口等高级一点的编程方法,近7000行代码对于大三的学生来说,不多不少吧。
以前也编过几个工程量大致相当的project,从project中锻炼。