数据库设计案例?数据库课程设计实例
今天给各位分享数据库设计案例的知识,其中也会对数据库课程设计实例进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
数据库课程设计实例
数据库课程设计
题目:小型超市管理系统
1、项目计划
1.1系统开发目的
(1)大大提高超市的运作效率;
(2)通过全面的信息采集和处理,辅助提高超市的决策水平;
(3)使用本系统,可以迅速提升超市的管理水平,为降低经营成本,提高效益,增强超市扩张力,提供有效的技术保障。
1.2背景说明
21世纪,超市的竞争也进入到了一个全新的领域,竞争已不再是规模的竞争,而是技术的竞争、管理的竞争、人才的竞争。技术的提升和管理的升级是超市业的竞争核心。零售领域目前呈多元发展趋势,多种业态:超市、仓储店、便利店、特许加盟店、专卖店、货仓等相互并存。如何在激烈的竞争中扩大销售额、降低经营成本、扩大经营规模,成为超市营业者努力追求的目标。
1.3项目确立
针对超市的特点,为了帮助超市解决现在面临的问题,提高小型超市的竞争力,我们将开发以下系统:前台POS销售系统、后台管理系统,其中这两个子系统又包含其它一些子功能。
1.4应用范围
本系统适应于各种小型的超市。
1.5定义
(1)商品条形码:每种商品具有唯一的条形码,对于某些价格一样的商品,可以使用自定义条形码。
(2)交易清单:包括交易的流水账号、每类商品的商品名、数量、该类商品的总金额、交易的时间、负责本次收银的员工号。
(3)商品积压:在一定时期内,远无法完成销售计划的商品会造成积压。
(4)促销:在一定时期内,某些商品会按低于原价的促销价格销售。
库存告警提示:当商品的库存数量低于库存报警数量时发出提示。
(5)盘点:计算出库存、销售额、盈利等经营指标。
1.6参考资料
《数据库原理及设计》陶宏才编清华大学出版社
《SQL Server 2000实用教程》范立南编清华大学出版社
《SQL Server 2000编程员指南》李香敏编北京希望电子出版社
《轻松搞定 SQL Server 2000程序设计》Rebecca M.Riordan编
《软件工程规范》Watts S.Humphrey编清华大学出版社
《软件工程理论与实践》 Shari Lawrence Pfleeger编清华大学出版社
《软件需求分析》 Swapna Kishore编机械工业出版社
《软件工程思想》林锐编
2、逻辑分析与详细分析
2.1系统功能
(1)、零售前台(POS)管理系统,本系统必须具有以下功能:
商品录入:根据超巿业务特点制定相关功能,可以通过输入唯一编号、扫描条形码、商品名称等来实现精确或模糊的商品扫描录入。该扫描录入方法可以充分保证各种电脑操作水平层次的人员均能准确快速地进行商品扫描录入。
收银业务:通过扫描条形码或者直接输入商品名称(对于同类多件商品采用一次录入加数量的方式)自动计算本次交易的总金额。在顾客付款后,自动计算找零,同时打印交易清单(包括交易的流水账号、每类商品的商品名、数量、该类商品的总金额、交易的时间、负责本次收银的员工号)。如果顾客是本店会员并持有本人会员卡,则在交易前先扫描会员卡,并对所购物品全部实行95折优惠,并将所购物品的总金额累计到该会员的总消费金额中。会员卡的有效期限为一年,满一年未续卡者,该会员卡将被注销。
安全性:OS登陆、退出、换班与操作锁定等权限验证保护;断电自动保护最大限度防止意外及恶意非法操作。
独立作业:有的断网收银即在网络服务器断开或网络不通的情况下,收银机仍能正常作业
(2)、后台管理系统,本系统必须具备以下功能
进货管理:根据销售情况及库存情况,自动制定进货计划(亦可手工制定修改),可以避免盲目进货造成商品积压。按计划单有选择性地进行自动入库登记。综合查询打印计划进货与入库记录及金额。
销售管理:商品正常销售、促销与限量、限期及禁止销售控制。综合查询各种销售明细记录、各地收银员收银记录以及交结账情况等。按多种方式统计生成销售排行榜,灵活察看和打印商品销售日、月、年报表。
库存管理:综合查询库存明细记录。库存状态自动告警提示。如库存过剩、少货、缺货等。软件为您预警,避免库存商品积压损失和缺货。库存自动盘点计算。
人员管理:员工、会员、供货商、厂商等基本信息登记管理。员工操作权限管理。客户销售权限管理。
(3)系统结构
系统总体结构
模块子系统结构
功能商品录入子系统要求能快速录入商品,因此必须支持条形码扫描。
功能收银业务子系统能计算交易总额,打印交易清单,并根据会员卡打折。
功能进货管理子系统可以根据库存自动指定进货计划,进货时自动等级,以及提供查询和打印计划进货与入库记录的功能。
功能销售管理子系统可以控制某商品是否允许销售,查询每种商品的销售情况并产生年、月、日报表,同时可以生成销售排行榜。
功能库存管理子系统提供查询库存明细记录的基本功能,并根据库存的状态报警,以及自动盘点计算。
功能人员管理子系统提供基本信息登记管理,员工操作权限管理,客户销售权限管理的功能。
2.2、流程图
前台管理系统
顶层DFD图
第0层DFD图
第1层DFD图
2.3、户类型与职能
(1)、员工(营业员):
通过商品条形码扫描输入商品到购买清单
操作软件计算交易总金额
操作软件输出交易清单
对会员进行会员卡扫描以便打折
(2)、:超市经理
操作软件录入商品,供货商,厂商
操作软件制定进货计划
查询打印计划进货与入库记录
操作软件控制商品销售与否
查询打印销售情况
操作软件生成销售排行榜
查询库存明细记录
根据软件发出的库存告警进行入货
操作软件进行盘点计算
(3)、总经理:
基本信息登记管理
员工操作权限管理
客户销售权限管理
2.4、统开发步骤
确定参与者和相关的用况
为每个用况设计过程
建立顺序图,确定每个脚本中对象的协作
创建类,确定脚本中的对象
设计,编码,测试,集成类
为过程编写系统测试案例
运行测试案例,检验系统
2.5、系统环境需求
系统模式
本系统采用C/S模式作为开发模式
硬件环境
服务器端:
高性能的计算机一台,
普通的双绞线作为连接。
客户端:普通的计算机或者工作站,
普通的双绞线作为连接。
软件环境
服务器端:安装SQL Server 2000的服务器版本,
安装windows 2000服务器版本,
配置了诺顿等必须的防毒软件。
客户端:安装SQL Server2000的服务器版本,
安装了VB等可视化开发工具软件,
安装windows2000服务器版本。
2.6、系统安全问题
信息系统尽管功能强大,技术先进,但由于受到自身体系结构,设计思路以及运行机制等限制,也隐含许多不安全因素。常见因素有:数据的输入,输出,存取与备份,源程序以及应用软件,数据库,操作系统等漏洞或缺陷,硬件,通信部分的漏洞,企业内部人员的因素,病毒,“黑客”等因素。因此,为使本系统能够真正安全,可靠,稳定地工作,必须考虑如下问题:为保证安全,不致使系统遭到意外事故的损害,系统因该能防止火,盗或其他形式的人为破坏。
系统要能重建
系统应该是可审查的
系统应能进行有效控制,抗干扰能力强
系统使用者的使用权限是可识别的
3、基于UML的建模
3.1语义规则
用例模型(use cases view)(用例视图)的基本组成部件是用例(use case)、角色(actor)和系统(system)。用例用于描述系统的功能,也就是从外部用户的角度观察,系统应支持哪些功能,帮助分析人员理解系统的行为,它是对系统功能的宏观描述,一个完整的系统中通常包含若干个用例,每个用例具体说明应完成的功能,代表系统的所有基本功能(集)。角色是与系统进行交互的外部实体,它可以是系统用户,也可以是其它系统或硬件设备,总之,凡是需要与系统交互的任何东西都可以称作角色。系统的边界线以内的区域(即用例的活动区域)则抽象表示系统能够实现的所有基本功能。在一个基本功能(集)已经实现的系统中,系统运转的大致过程是:外部角色先初始化用例,然后用例执行其所代表的功能,执行完后用例便给角色返回一些值,这个值可以是角色需要的来自系统中的任何东西。
UML:是一种标准的图形化建模语言,它是面向对象分析与设计的一种标准表示;它不是一种可视化的程序设计语言而是一种可视化的建模语言;不是工具或知识库的规格说明而是一种建模语言规格说明是一种表示的标准;不是过程也不是方法但允许任何一种过程和方法使用它。
用例(use case):
参与者(actor):
3.2、UML模型
3.21、系统UML模型
3.22、子系统UML模型
(1)零售前台(POS)管理系统用例视图
(2)后台管理系统用例视图
3.3、系统实现图
4、超市销售系统概念设计文档
(1)、系统ER图
(2)、系统ER图说明
1)商店中的所有用户(员工)可以销售多种商品,每种商品可由不同用户(员工)销售;
2)每个顾客可以购买多种商品,不同商品可由不同顾客购买;
3)每个供货商可以供应多种不同商品,每种商品可由多个供应商供应。
(3)、视图设计
1)交易视图(v_Dealing)——用于查询交易情况的视图;
2)计划进货视图(v_PlanStock)——用于查询进货计划的视图;
3)销售视图(v_Sale)——用于查询销售明细记录的视图;
4)入库视图(v_Stock)——用于查询入库情况的视图。
5、逻辑设计文档
(1)、系统关系模型
a)商品信息表(商品编号,商品名称,价格,条形码,促销价格,促销起日期,促销止日期,允许打折,库存数量,库存报警数量,计划进货数,允许销售,厂商编号,供货商编号)
b)用户表(用户编号,用户名称,用户密码,用户类型)
c)会员表(会员编号,会员卡号,累积消费金额,注册日期)
d)销售表(销售编号,商品编号,销售数量,销售金额,销售日期)
e)交易表(交易编号,用户名称,交易金额,会员卡号,交易日期)
f)进货入库表(入库编号,入库商品编号,入库数量,单额,总额,入库日期,计划进货日期,入库状态)
g)供货商表(供货商编号,供货商名称,供货商地址,供货商电话)
h)厂商表(厂商编号,厂商名称,厂商地址,厂商电话)
(2)、系统数据库表结构
数据库表索引
表名中文名
MerchInfo商品信息表
User用户表
Menber会员表
Sale销售表
Dealing交易表
Stock进货入库表
Provide供货商表
Factory厂商表
商品信息表(MerchInfo)
字段名字段类型长度主/外键字段值约束对应中文名
MerchID int 4 P Not null商品编号
MerchName Varchar 50 Not null商品名称
MerchPrice Money 4 Not null价格
MerchNum Int 4 Not null库存数量
CautionNum Int 4 Not null库存报警数量
PlanNum Int 4 null计划进货数
BarCode Varchar 50 Not null条形码
SalesProPrice Money 4促销价格
SalesProDateS Datetime 8促销起日期
SalesProDateE Datetime 8促销止日期
AllowAbate Int 4 Not null允许打折
AllowSale Int 4 Not null允许销售
FactoryID Varchar 10 F Not null厂商编号
ProvideID Varchar 10 F Not null供货商编号
用户表(User)
字段名字段类型长度主/外键字段值约束对应中文名
UserID varchar 10 P Not null用户编号
UserName Varchar 25 Not null用户名称
UserPW Varchar 50 Not null用户密码
UserStyle Int 4 Not null用户类型
会员表(Menber)
字段名字段类型长度主/外键字段值约束对应中文名
MemberID Varchar 10 P Not null会员编号
MemberCard Varchar 20 Not null会员卡号
TotalCost Money 4 Not null累积消费金额
RegDate Datetime 8 Not null注册日期
销售表(Sale)
字段名字段类型长度主/外键字段值约束对应中文名
SaleID Varchar 10 P Not null销售编号
MerChID Varchar 10 F Not null商品编号
SaleDate Datetime 8 Not null销售日期
SaleNum Int 4 Not null销售数量
SalePrice Money 4 Not null销售单额
交易表(Dealing)
字段名字段类型长度主/外键字段值约束对应中文名
DealingID Varchar 10 P Not null交易编号
DealingPrice Money 4 Not null交易金额
DealingDate Money 4 Not null交易日期
MemberID Varchar 10会员卡号
UserName Varchar 10 F Not null用户名称
入库纪录表(Stock)
字段名字段类型长度主/外键字段值约束对应中文名
StockID Varchar 10 P Not null入库编号
MerchID Varchar 10 F Not null入库商品编号
MerchNum Int 4 Not null入库数量
MerchPrice Money 4 Not null单额
TotalPrice Money 4 Not null总额
StockDate Datetime 8 Datetime入库日期
PlanDate Datetime 8 Datetime计划进货日期
StockState Int 4 Not null入库状态
供货商表(Provide)
字段名字段类型长度主/外键字段值约束对应中文名
ProvideID varchar 10 P Not null供货商编号
ProvideName Varchar 50 Not null供货商名称
ProvideAddress Varchar 250供货商地址
ProvidePhone Varchar 25供货商电话
厂商表(Provide)
字段名字段类型长度主/外键字段值约束对应中文名
FactoryID varchar 10 P Not null厂商编号
FactoryName Varchar 50 Not null厂商名称
FactoryAddress Varchar 250厂商地址
FactoryPhone Varchar 25厂商电话
6、物理设计文档
/*----------创建数据库----------*/
create database SuperMarketdb
on primary
(
name=SuperMarketdb,
filename='C:\Program Files\Microsoft SQL Server\MSSQL\Data\SuperMarketdb.mdf',
size=100MB,
maxsize=200MB,
filegrowth=20MB
)
log on
(
name=SuperMarketlog,
filename='C:\Program Files\Microsoft SQL Server\MSSQL\Data\SuperMarketdb.ldf',
size=60MB,
maxsize=200MB,
filegrowth=20MB
)
go
/*----------创建基本表----------*/
use [SuperMarketdb]
go
/*创建交易表*/
CREATE TABLE Dealing(
DealingID int identity(1,1) Primary key,
DealingDate datetime NOT NULL,
DealingPrice money NOT NULL,
UserName varchar(25) NULL,
MemberCard varchar(20) NULL
)
GO
/*创建厂商表*/
CREATE TABLE Factory(
FactoryID varchar(10) Primary key,
FactoryName varchar(50) NOT NULL,
FactoryAddress varchar(250) NULL,
FactoryPhone varchar(50) NULL
)
GO
/*创建会员表*/
CREATE TABLE Member(
MemberID varchar(10) Primary key,
MemberCard varchar(20) NOT NULL,
TotalCost money NOT NULL,
RegDate datetime NOT NULL
)
GO
/*创建商品信息表*/
CREATE TABLE MerchInfo(
MerchID int identity(1,1) Primary key,
MerchName varchar(50) Unique NOT NULL,
MerchPrice money NOT NULL,
MerchNum int NOT NULL,
CautionNum int NOT NULL,
PlanNum int NOT NULL,
BarCode varchar(20) Unique NOT NULL,
SalesProPrice money NULL,
SalesProDateS datetime NULL,
SalesProDateE datetime NULL,
AllowAbate int NOT NULL,
AllowSale int NOT NULL,
FactoryID int NOT NULL,
ProvideID int NOT NULL
)
GO
/*创建供应商表*/
CREATE TABLE Provide(
ProvideID varchar(10) Primary key,
ProvideName varchar(50) NOT NULL,
ProvideAddress varchar(250) NULL,
ProvidePhone varchar(25) NULL
)
GO
/*创建销售表*/
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 Stock(
StockID int identity(1,1) Primary key,
MerchID int NOT NULL,
MerchNum int NOT NULL,
MerchPrice money NULL,
TotalPrice money NULL,
PlanDate datetime NULL,
StockDate datetime NULL,
StockState int NOT NULL
)
GO
/*创建用户表*/
CREATE TABLE User(
UserID varchar(10) Primary key,
UserName varchar(25) NOT NULL,
UserPW varchar(50) NOT NULL,
UserStyle int NOT NULL,
)
GO
/*----------创建表间约束----------*/
/*商品信息表中厂商编号、供应商编号分别与厂商表、供应商表之间的外键约束*/
ALTER TABLE MerchInfo ADD
CONSTRAINT [FK_MerchInfo_Factory] FOREIGN KEY
(
[FactoryID]
) REFERENCES Factory(
[FactoryID]
),
CONSTRAINT [FK_MerchInfo_Provide] FOREIGN KEY
(
[ProvideID]
) REFERENCES Provide(
[ProvideID]
)
GO
/*销售表中商品编号与商品信息表之间的外键约束*/
ALTER TABLE Sale ADD
CONSTRAINT [FK_Sale_MerchInfo] FOREIGN KEY
(
[MerChID]
) REFERENCES MerchInfo(
[MerchID]
) ON DELETE CASCADE
GO
/*入库表中商品编号与商品信息表之间的外键约束*/
ALTER TABLE Stock ADD
CONSTRAINT [FK_Stock_MerchInfo] FOREIGN KEY
(
[MerchID]
) REFERENCES MerchInfo(
[MerchID]
) ON DELETE CASCADE
GO
/*----------创建索引----------*/
/*在交易表上建立一个以交易编号、交易日期为索引项的非聚集索引*/
CREATE nonclustered INDEX IX_Dealing ON Dealing(DealingID, DealingDate)
GO
/*在商品信息表上建立一个以商品编号为索引项的非聚集索引*/
CREATE nonclustered INDEX IX_MerchInfo ON MerchInfo(MerchID)
GO
/*在销售表上建立一个以销售编号、销售日期为索引项的非聚集索引*/
CREATE nonclustered INDEX IX_Sale ON Sale(SaleID, SaleDate)
GO
/*在入库表上建立一个以入库编号、入库日期、商品编号为索引项的非聚集索引*/
CREATE nonclustered INDEX IX_Stock ON Stock(StockID, StockDate, MerchID)
GO
/*----------创建视图----------*/
/*创建用于查询交易情况的视图*/
CREATE VIEW v_Dealing
AS
SELECT DealingDate as交易日期,
UserName as员工名称,
MemberCard as会员卡号,
DealingPrice as交易金额
FROM Dealing
GO
/*创建用于查询进货计划的视图*/
CREATE VIEW v_PlanStock
AS
SELECT Stock.StockID as SID,
MerchInfo.MerchName as商品名称,
MerchInfo.BarCode as条形码,
Factory.FactoryName as厂商,
Provide.ProvideName as供货商,
Stock.MerchNum as计划进货数量,
Stock.PlanDate as计划进货日期
FROM Stock,MerchInfo,Provide,Factory
Where Stock.MerchID= MerchInfo.MerchID
and Provide.ProvideID=MerchInfo.ProvideID
and Factory.FactoryID=MerchInfo.FactoryID
and Stock.StockState=0
GO
/*创建用于查询销售明细记录的视图*/
CREATE VIEW v_Sale
AS
SELECT MerchInfo.MerchName as商品名称,
MerchInfo.BarCode as条形码,
MerchInfo.MerchPrice as商品价格,
Sale.SalePrice as销售价格,
Sale.SaleNum as销售数量,
Sale.SaleDate as销售日期
FROM Sale INNER JOIN
MerchInfo ON Sale.MerChID= MerchInfo.MerchID
GO
/*创建用于查询入库情况的视图*/
CREATE VIEW v_Stock
AS
SELECT MerchInfo.MerchName as商品名称,
MerchInfo.BarCode as条形码,
Factory.FactoryName as厂商,
Provide.ProvideName as供货商,
Stock.MerchPrice as入库价格,
Stock.MerchNum as入库数量,
Stock.TotalPrice as入库总额,
Stock.StockDate as入库日期
FROM Stock,MerchInfo,Provide,Factory
Where Stock.MerchID= MerchInfo.MerchID
and Provide.ProvideID=MerchInfo.ProvideID
and Factory.FactoryID=MerchInfo.FactoryID
and Stock.StockState=1
GO
7、小结
和传统管理模式相比较,使用本系统,毫无疑问会大大提高超市的运作效率,辅助提高超市的决策水平,管理水平,为降低经营成本,提高效益,减少差错,节省人力,减少顾客购物时间,增加客流量,提高顾客满意度,增强超市扩张能力,提供有效的技术保障。
由于开发者能力有限,加上时间仓促,本系统难免会出现一些不足之处,例如:
本系统只适合小型超市使用,不能适合中大型超市使用;
超市管理系统涉及范围宽,要解决的问题多,功能复杂,实现困难,但由于限于时间,本系统只能做出其中的一部分功能;
对于以上出现的问题,我们深表歉意,如发现还有其它问题,希望老师批评指正。
请采纳。
数据库系统 [《数据库系统》教学案例]
本节课是浙教版《信息技术基础》必修模块第四章《信息的管理》的第一、二节教学内容,属于信息素养中信息管理的范畴。根据新课程标准,这节课的主要教学内容是掌握数据库的相关概念和进行数据库相关操作。
数据库是信息管理的核心和基础技术,而本节内容正是信息管理的重点,因此采用情境导入、任务驱动的方式对学习任务进行深入学习,并通过层层深入的设问来调动学生学习的积极性。学好本节内容,可以使学生养成良好的信息资源管理习惯,掌握信息资源管理的常用方法以及利用数据库存储、管理大量数据并实现高效检索,对于学生今后的生活、工作和学习是相当有益的,而且也能为以后学习选修模块《数据管理技术》作好知识和技能的准备,具有承上启下的作用。本次课占2课时。
一、教学目标
知识与技能:了解数据库的基本概念,理解数据库应用程序、数据库管理系统、数据库的关系;了解Access中数据库表、记录、字段的概念;学会使用Access浏览、修改、添加、删除记录,了解字段数据类型的选择。
过程与方法:通过在线注册,实践体验数据管理系统和数据库应用程序的作用,能根据实际情况获取数据库中的数据,学会归纳总结的学习方法。
情感、态度与价值观:体会使用数据库管理信息对我们学习、生活带来的影响,树立科学管理、使用信息资源的意识,体验网络数据库的优势。
二、教学重点、难点
教学重点:数据库系统的几个概念间的关系,数据表记录的添加、修改、删除操作。
教学难点:数据库系统的几个概念间的关系,字段数据类型的确定。
三、学情分析
高一年级的学生已掌握Office办公软件的使用,如Word、PowerPoint和Excel,这些为学习本节课提供了一定的基础。数据库系统是新课程改革后加进来的内容,大部分学生都是第一次接触,相对来说掌握起来有一定的难度。
四、教学过程
1.创设情境,激情导入
师:同学们,平时我们经常会上网注册一些信息,今天请大家一起到老师自建的网站上来注册信息。请大家在IE浏览器的地址栏上输入地址https://192.168.1.10,进入“数据库系统学习平台”,完成注册。
学生登录网站,进行注册,并登录到主页。主页设计如图1所示。
师:好了,现在请大家点击主页左边的“显示已有用户”图标,看看我们班同学的注册信息。
学生看到了自己和其他同学的注册信息都显示在了网页上,如图2所示,觉得很好奇,课堂气氛活跃。
师:现在请同学们思考一下大家注册的信息为什么会显示在网页上?
学生纷纷议论。
生:肯定是我们注册的信息保存到教师机上了。
师:对了,很好。但是具体又是保存到了什么文件里了呢?
学生思考片刻,但没人回答。
师:这就是我们今天要学习的内容――数据库系统。
设计意图:引导学生进入“数据库系统学习平台”注册自己的信息。通过注册、登录和显示已有注册用户来激发学生的好奇心,并由此引入新课。
2.讲述新课
(1)理解数据库、数据库管理系统、数据库应用系统、数据库系统四个概念。
结合书本内容,组织学生思考如下问题:
①数据库是什么?请用自己的话来概括。
②我们通常用什么来建立和管理数据库?
③刚才的网上体验是数据库管理系统还是数据库应用系统?
④数据库系统包含了什么?
(2)四个概念间的关系。
教师展示PPT,并结合刚才的网上注册来理清四个概念之间的关系,如图3所示。
设计意图:由于概念比较抽象,设计时先让学生自学概念,再结合网上注册的例子以图的形式来帮助学生理清概念之间的关系。
(3)体验网上数据查询。
师:现在就请大家思考一下我们身边还有哪些地方用到了数据库?
学生讨论并回答。
师:同学们的回答都很好。现在请同学们点击主页左边的“查询成绩”图标,输入自己的考号来查询一下本次期中考试的成绩吧。
学生尝试根据考号来查询自己的成绩,真正感受到数据库高效检索的优势。
设计意图:通过设问引导学生理论联系实际,感受数据库系统在信息管理方面的优势,进一步体验数据库的应用。
(4)数据库中表、字段的概念及字段的数据类型。
师:现在请大家考虑本节课一开始的问题:大家刚才注册的信息保存到了哪里?
生:保存到教师机的数据库文件里。
师:对了。平时大家到互联网上注册的信息其实就是保存到相关网站对应的数据库文件里。在网上查询资料其实也是到相应服务器的数据库文件里查找。
教师用Access打开刚才学生们注册保存的数据库文件(userinfo.mdb),打开后让学生讨论Access和Excel的异同点。教师根据学生的讨论情况再介绍Access中数据表,记录、字段的概念。
(5)记录的修改、添加、删除。
打开桌面上“student.mdb”文件,完成以下操作:
第一步,将表中的姓名“赵丽雅”改为“赵雅丽”。
第二步,在表的最后添加一条记录,内容为“100 406010900”、“胡杨林”、“1”、“85”、“85”、“85”。
第三步,删除刚才添加的这条记录。
设计意图:让学生充当管理员的角色,知道如何在Access中添加、修改、删除记录,并且趁机引导学生要对数据库文件做好安全工作,树立科学管理、使用信息资源的意识。
(6)字段的修改、添加和删除。
教师打开注册信息表(info),并对这张数据表需要用到哪些字段、各个字段分别选择什么数据类型进行分析。组织学生讨论,完成以下问题的思考:
①如何修改字段名?
②如何在字段的后面添加另外字段?
③同一个字段内的值可以任意填写吗?
设计意图:通过层层深入的设问让学生明白如何设计字段。
3.随堂测试
点击主页上的“随堂测试”图标,完成课堂测试并当堂批改。
4.自我评价
学生点击主页上的“自我评价”图标,完成自我评价。
5.课后作业
以四人为一小组,合作设计一个图书借阅系统的数据库,要求包括用户信息表、图书信息表和借书记录表。
五、教学反思
本节课的内容是数据库相关概念、记录操作和字段类型选择。概念理论的知识点很多,动手操作内容比较少,很难引发学生学习的兴趣。对于这点顾虑,我在引入阶段设计了学生上网注册信息这个过程,一方面为了引起学生的学习兴趣,另一方面也能让学生亲身感受利用数据库存储、管理大量数据并实现高效检索方面的优势,为下面数据库的讲解提供了实例。
对Access中的表、记录、字段、数据类型的知识,我通过打开学生注册信息的数据库来讲解Access和Excel的异同点。就数据类型的设计来说,我在设计网站注册信息的时候本想囊括所有数据类型,但没有做到,留下了一点遗憾。
(作者单位:浙江桐乡市高级中学)
有关数据库的小故事
故事一、啤酒与尿布
世界零售连锁企业巨头沃尔玛拥有世界上最大的数据仓库系统之一,里面存放了各个门店的详细交易信息。为了能够准确了解顾客的购买习惯,沃尔玛利对顾客的购物行为进行了购物篮分析,想知道顾客经常一起购买的商品有哪些,结果他们有了意外的发现:“跟尿布一起购买最多的商品竟是啤酒!”
这是数据挖掘技术对历史数据进行分析的结果,它符合现实情况吗?是否是一个有用的知识?是否有利用价值?
于是,沃尔玛派出市场调查人员和分析师对这一挖掘结果进行调查分析。经过大量实际调查和分析,揭示了一个隐藏在“尿布与啤酒”背后的美国人的一种行为模式:一些年轻的父亲下班后经常要到超市去买婴儿尿布,而他们中有30%~40%的人同时也为自己买一些啤酒。产生这一现象的原因是:美国的太太们常叮嘱她们的丈夫下班后为小孩买尿布,而丈夫们在买尿布后又随手带回了他们喜欢的啤酒。
既然尿布与啤酒一起被购买的机会很多,于是沃尔玛就将尿布与啤酒并排摆放在一起,结果是尿布与啤酒的销售量双双增长。
按常规思维,尿布与啤酒风马牛不相及,若不是借助数据挖掘技术对大量交易数据进行挖掘分析,沃尔玛是不可能发现数据内在这一有价值的规律的。
故事二、犯罪的根源
格洛斯特郡是英格兰西部的一个郡,大约有五十多万人口。在有一段时间内,发生了多起抢劫案,民众不再感觉到安全,对郡警察局的舆论压力也陡然增加了,强烈要求及时破获这些案件,并避免案件的进一步发生。警方一方面在加快破案的同时,也在努力思考怎么样才可以降低发案率。
按照传统的做法,一般会采取这样的措施:锁定抢劫案的多发地区,加派警力进行巡逻,对行为异常的人员加强盘查等等。然而,格洛斯特郡警察局发现,这些措施的收效甚微,发案率依然居高不下,因为抢劫案的发案地点并不集中,分散在多个不同的街区,这让巡逻警力的安排显得捉襟见肘,难以全面顾及。
此时,来自警察局内部的分析系统却有了新的发现。系统中保存了多年的案件和案犯的卷宗信息,通过利用数据挖掘等分析技术,揭示出最近这段时间的抢劫犯具有一些非常显著的特征:他们大多是没有固定住所,无家可归,而且也没有稳定的工作。另外,在很多抢劫案发生前,这些罪犯都吸食了毒品。正是在毒品的刺激作用下,他们失去了自控能力,临时见财起意,对单身女性或情侣实施抢劫。
新的发现给警察局带来了新的思路,警方当机立断,对原来的增加警力加强巡逻的做法进行了调整,改为采取如下措施:一是加强对无业人员和有吸毒前科人员的管理,并通过社会福利机构对他们实施救助;然后,加强了对毒品交易易发场所的严打和治理,从源头上掐断毒品的供应。
治理得到了良好的效果,抢劫案的发案率迅速降低,格洛斯特郡的人们又重新恢复了平静的生活。
故事三、电邮加新闻
Yahoo是第一家招募了首席数据官的公司,以验证对公司而言,数据的确是一笔真实而有战略意义的财富。目标是通过提供以客户为中心的数据平台和洞察力服务,激励用户积极参与,对营销方案进行创新,从而为消费者和卖家带来价值。Usama Fayyad博士是Yahoo的首席数据官,他在和KDnuggets的Gregory的访谈中介绍了一些Yahoo在数据挖掘方面的成功案例。
“产品整合:一个例子就是你今天在Yahoo电子邮箱上看到的,数据挖掘的可视结果。通过对用户使用行为的意外模式分析,我们发现在每次会话中,人们阅读邮件和阅读新闻的行为之间存在很强的相关关系。我们把这个发现传达给Yahoo电子邮箱产品小组,他们首先想到的就是验证这种关系的影响:在一组测试用户的邮箱首页上显示一个新闻模块,其中的新闻标题被醒目显示。”
“对于象电子邮箱这种产品,最头痛的问题就是如何获取新的‘轻量级用户’,并推动他们的用量,使之变成‘重量级用户’。如果你做到了,那么流失率就会显著下降。实际上,在我们的试验中,最显著的一组流失率下降了40%。于是Yahoo立刻开发并完善了新闻模块,并嵌入Yahoo电子邮箱的首页,到现在,上亿的消费者都可以看到并使用这种产品。我喜欢提及这个故事,因为它很好地说明了我们产品团队的及时反应能力,也证明了在用户使用行为数据中蕴含着很多很多极具价值的潜在模式。”
“即时通信:我们对雅虎通(Instant Messenger)的使用情况进行了分析,以了解激励用量的关键因素是什么。结果发现,最重要的因素是让用户扩大他们的‘好友列表’,至少增加5个新的好友。据此Yahoo精心设计了相应的营销活动,鼓励用户增加好友列表中的好友数,从而显著激励了雅虎通的用量。”
“Yahoo首页的搜索框:一个简单的例子就是我们发现,在Yahoo的首页上,把搜索框放在居中的位置(而不是以前的左侧)将提高用户的用量。这样一方面可以促进用户的积极使用,对Yahoo来说也没有成本支出。这个结果的发现过程也很有趣,我们首先发现Netscape浏览器的用户比IE的用户更多地使用了搜索功能,进一步探查发现两个浏览器在视觉上的唯一区别就是:二者中的搜索框位置不同!搜索框在Netscape浏览器中是居中放置,而在IE中则是靠近左侧。很不明显的差别,但却很重要。一般谁会想到呢?”
好了,文章到这里就结束啦,如果本次分享的数据库设计案例和数据库课程设计实例问题对您有所帮助,还望关注下本站哦!