《SQL Server》教学实习报告Word文件下载.docx
《《SQL Server》教学实习报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《《SQL Server》教学实习报告Word文件下载.docx(17页珍藏版)》请在冰豆网上搜索。
通过实习,熟悉数据库的设计、开发过程,掌握数据库设计、开发各阶段的方法,能够根据所给条件和要求,使用SQLServer实现所设计的数据库。
3教学实习设计介绍
3.1设计题目
企业网站各栏目和功能系统数据库设计。
3.2设计目标
结合实际,在需求分析的基础上,作出如下设计:
概念结构设计,逻辑结构设计等。
同时我们把所学知识运用到实际中,更好的掌握所学知识,理论联系实际,提高动手实践能力。
3.3系统的主要功能
可以进行各个表数据的查询,更改,删除等功能,创建了一个更新新闻信息的存储过程。
3.4系统开发与调试过程
3.4.1数据库需求分析
(1)调查分析
企业网站的栏目和功能各不相同。
通过对中小企业的调查分析,认为中小企业网站主要的栏目和功能应该包括:
企业简介,让用户了解企业文化、理念、历史和规模;
联系方式,让用户可以及时与企业沟通;
企业新闻,让用户了解企业最新的活动、发展动态和优惠措施等;
产品和服务,介绍产品的图片、规格、型号、价格、功能等信息,介绍企业所提供的各项服务;
同时提供网站后台管理功能。
功能设计:
网站功能包括:
产品、新闻、联系我们、产品订购、产品管理、产品添加、新闻管理、新闻添加、订单管理等,如图3-1
图3-1功能设计
(2)建立数据流图
在更进一步的调查分析后得出系统的数据流图,图3-2是企业网站部分数据流图设计。
图3-2企业网站部分数据流图
(3)建立初步的数据字典
经过初步的调查了解,建立部分数据字典(其他略)
[1].数据项
名称:
新闻类别。
含义说明:
标明各个新闻属于什么类别。
类型:
nvarchar
长度:
50
[2].数据结构
名称:
用户
含义:
用户数据结构用于表示用户的相关信息。
组成:
用户名,密码,真实姓名,电话,地址,邮编,管理员标志。
[3].数据流
数据流名称:
验证信息。
数据流来源:
用户登录输入。
数据流去向:
登录验证。
用户名+密码。
[4].数据存储
数据存储名:
订购记录。
说明:
用户订购货物记录。
流水号,产品流水号,订购数量,用户名,订购日期,处理标志。
3.4.2数据库概念结构设计
系统的局部E-R图的新闻信息如图3-3(其他略),
图3-3新闻信息E-R图
系统的全局E-R图(图中省略了实体和联系的属性),如图3-4
图3-4全局E-R图
每个实体及属性如下。
新闻信息:
流水号、新闻标题、新闻内容、新闻类别、添加时间、阅读次数。
新闻类别:
流水号、新闻类别。
产品:
流水号、产品名称、产品图片、产品类别、产品介绍。
产品类别:
流水号、产品类别。
用户:
用户名、密码、真实姓名、电话、地址、邮编。
3.4.3数据库逻辑结构设计
在图3-2所示的E-R图中,有5个实体,1个多对多联系和一个一对多联系,所以,把E-R图转换成数据库德6个表就可以了。
这6张表分别是新闻信息表、新闻类别表、产品表、产品类别表、订单表和用户表。
表的结构如表3-1至表3-6所示。
列名
数据类型
长度
说明
流水号
Bigint
8
主键
新闻标题
Nvarchar
新闻内容
Ntext
16
新闻类别
10
外键
添加时间
smalldatetime
4
阅读次数
Int
默认为0
表3-1新闻信息表
表3-2新闻类别表
产品名称
产品价格
产品图片
Varchar
图片文件名
产品类别
外键
产品介绍
表3-3产品表
表3-4产品类别表
用户名
20
密码
真实姓名
电话
地址
邮编
6
管理员标志
Bit
1
默认0,表示一般用户
表3-5用户
产品流水号
订购数量
订购日期
Datetime
处理标志
默认0,表示未处理
表3-6订单
3.4.4数据库物理实现
(1)创建数据库
createdatabase企业网站
onprimary
(name=website,
filename='
e:
\sql\website.mdf'
size=100mb,
maxsize=500mb,
filegrowth=20mb)
logon
(name=websitelog,
\sql\websitelog.ldf'
size=2gb,
maxsize=20gb,
filegrowth=100mb);
(2)创建表
use企业网站
createtable新闻信息(流水号bigintprimarykey,新闻标题nvarchar(50),新闻内容ntext,新闻类别nvarchar(10),添加时间smalldatetime,阅读次数intdefault0)
createtable新闻类别(流水号bigintprimarykey,新闻类别nvarchar(50))
createtable产品(流水号bigintprimarykey,产品名称nvarchar(50),产品价格int,产品图片varchar(50),产品类别varchar(10),产品介绍ntext)
createtable产品类别(流水号bigintprimarykey,产品类别nvarchar(10))
createtable用户(用户名nvarchar(20)primarykey,密码nvarchar(10),真实姓名nvarchar(50),电话nvarchar(50),地址nvarchar(50),邮编nvarchar(6),管理员标志bitdefault0)
createtable订单(流水号bigintprimarykey,产品流水号bigint,订购数量int,用户名nvarchar(20),订购日期datetime,处理标志bitdefault0)
(3)向表中插入数据
insert新闻信息values
('
1'
'
不仅仅为了游戏...'
配置方面...'
业内新闻'
2010-2-4'
4'
)
2'
配指纹识别...'
神舟优雅Q32'
企业新闻'
2010-4-3'
insert新闻类别values
insert产品values
优雅Q320N'
5998'
271.gif'
计算机类'
采用英特尔...'
佳禧G630D'
3999'
301.gif'
主机显示器...'
insert产品类别values
配件'
insert用户values
北京科技'
111111'
010-2222222'
北京市'
100001'
0'
北京制药'
010-2233223'
insert订单values
25'
5'
aa'
2010-4-26'
26'
chen'
2010-4-28'
(4)创建存储过程
createprocedure更新信息
(
@lshbigint,
@btnvarchar(50),
@nrntext,
@lbnvarchar(10),
@sjsmalldatetime,
@csint
as
update新闻信息set新闻标题=@bt,新闻内容=@nr,
新闻类别=@lb,添加时间=@sj,阅读次数=@cs
where流水号=@lsh
return
(5)进行简单数据查询
select*from新闻信息
(6)最后生成脚本
最后生成的脚本如下:
SETANSI_NULLSON
GO
SETQUOTED_IDENTIFIERON
IFNOTEXISTS(SELECT*FROMsys.objectsWHEREobject_id=OBJECT_ID(N'
[dbo].[产品]'
)ANDtypein(N'
U'
))
BEGIN
CREATETABLE[dbo].[产品](
[流水号][bigint]NOTNULL,
[产品名称][nvarchar](50)NULL,
[产品价格][int]NULL,
[产品图片][varchar](50)NULL,
[产品类别][varchar](10)NULL,
[产品介绍][ntext]NULL,
PRIMARYKEYCLUSTERED
[流水号]ASC
)WITH(PAD_INDEX=OFF,IGNORE_DUP_KEY=OFF)O