参考手册
校友录网站应用设计案例
校友录网站应用设计案例
目录
1 概述........................................................................................................................................... 3
1.1 案例教学介绍 ............................................................................................................... 4 1.2 项目背景 ....................................................................................................................... 4 1.3 项目实例简介 ............................................................................................................... 4 1.3.1 项目涉及的要点 ............................................................................................................. 4 1.3.2 案例简单介绍 ................................................................................................................. 5 2 案例教学过程详解 ................................................................................................................... 6
2.1 学生了解网站构架 ....................................................................................................... 6
1) 学生了解项目开发平台 ............................................................................................. 6 2) 学生了解项目构架 ..................................................................................................... 6 3) 指导学生编码 ............................................................................................................. 6
3 分析与设计 ............................................................................................................................... 6
3.1 需求分析 ....................................................................................................................... 6 3.2 网站设计 ....................................................................................................................... 7 3.2.1 默认页设计 ............................................................................................................... 7
1)页面控件 .................................................................................................................... 7 2)页面功能概述............................................................................................................. 7 3.2.2 注册页设计 ............................................................................................................... 7
1)网页控件 .................................................................................................................... 7 2)页面功能概述............................................................................................................. 8 3.2.3 注册成功页设计 ....................................................................................................... 8
1)页面功能概述............................................................................................................. 8 3.2.4 登陆页设计 ............................................................................................................... 8
1)网页控件 .................................................................................................................... 8 2)页面功能概述............................................................................................................. 8 3.2.5 登陆成功页设计 ....................................................................................................... 9
1)页面功能概述............................................................................................................. 9 3.2.6 忘记密码页设计 ....................................................................................................... 9
1)网页控件 .................................................................................................................... 9 2)页面功能概述............................................................................................................. 9 3.2.7 密码发送成功页设计 ............................................................................................... 9
1)页面功能概述............................................................................................................. 9 3.2.8 搜索页设计 ............................................................................................................... 9
1)网页控件 .................................................................................................................. 10 2)页面功能概述........................................................................................................... 10 3.2.9 报错页设计 ............................................................................................................. 10
1)页面功能概述........................................................................................................... 10 3.2.10 校友录默认设计 ..................................................................................................... 10
1)网页控件 .................................................................................................................. 10 2)页面功能概述........................................................................................................... 10 3.2.11 校友录首页设计 ..................................................................................................... 11
1)网页控件 .................................................................................................................. 11
1
校友录网站应用设计案例
2)页面功能概述........................................................................................................... 11 3.2.12 修改用户资料页设计 ............................................................................................. 11
1)网页控件 .................................................................................................................. 11 2)页面功能概述........................................................................................................... 11 3.2.13 更换头像页设计 ..................................................................................................... 11
1)网页控件 .................................................................................................................. 12 2)页面功能概述........................................................................................................... 12 3.2.14 照片页设计 ............................................................................................................. 12
1)网页控件 .................................................................................................................. 12 2)页面功能概述........................................................................................................... 12 3.2.15 创建学校页设计 ..................................................................................................... 12
1)网页控件 .................................................................................................................. 12 2)页面功能概述........................................................................................................... 13 3.2.16 班级列表页设计 ..................................................................................................... 13
1)网页控件 .................................................................................................................. 13 2)页面功能概述........................................................................................................... 13 3.2.17 创建班级成功页设计 ............................................................................................. 13
1)网页控件 .................................................................................................................. 13 2)页面功能概述........................................................................................................... 14 3.2.18 班级首页设计 ......................................................................................................... 14
1)网页控件 .................................................................................................................. 14 2)页面功能概述........................................................................................................... 14 3.2.19 班级留言页设计 ..................................................................................................... 14
1)网页控件 .................................................................................................................. 14 2)页面功能概述........................................................................................................... 15 3.2.20 班级相册页设计 ..................................................................................................... 15
1)网页控件 .................................................................................................................. 15 2)页面功能概述........................................................................................................... 15 3.2.21 班级照片页设计 ..................................................................................................... 15
1)网页控件 .................................................................................................................. 15 2)页面功能概述........................................................................................................... 15 3.2.22 上传照片页设计 ..................................................................................................... 16
1)网页控件 .................................................................................................................. 16 2)页面功能概述........................................................................................................... 16 3.2.23 上传照片成功页设计 ............................................................................................. 16
1)页面功能概述........................................................................................................... 16 3.2.24 班级通讯录页设计 ................................................................................................. 16
1)网页控件 .................................................................................................................. 16 2)页面功能概述........................................................................................................... 17 3.2.25 班级管理页设计 ..................................................................................................... 17
1)网页控件 .................................................................................................................. 17 2)页面功能概述........................................................................................................... 17 3.3 数据库设计 ................................................................................................................. 17 3.3.1 架构创建 ................................................................................................................. 17
2
校友录网站应用设计案例
1)架构定义 .................................................................................................................. 17 3.3.2. 数据库创建 ............................................................................................................. 18
1)UserAccount表 ....................................................................................................... 18 2)UserInfo表 .............................................................................................................. 18 3)Title表 ...................................................................................................................... 18 4)UserClass表 ........................................................................................................... 19 5)SchoolInfo表 ........................................................................................................... 19 6)ClassInfo表 ............................................................................................................. 19 7)MessageBoard表 ................................................................................................... 19 8)Album表 .................................................................................................................. 20 9)Photo表 ................................................................................................................... 20 10)Comment表 .......................................................................................................... 20 3.3.3. 数据库关系图 ......................................................................................................... 21 3.3.4. 系统视图 ................................................................................................................. 21
1)vClassPhoto系统视图 ........................................................................................... 21 3.3.5. 系统存储过程 ......................................................................................................... 26
1)dbo.CreateUser存储过程 ..................................................................................... 26 2)dbo.UpdateUser存储过程..................................................................................... 26 3)dbo.UploadPhoto存储过程 ................................................................................... 27
1 概述
本文档主要介绍网站的结构
3
校友录网站应用设计案例
1.1 案例教学介绍
案例教学有以下几个特点: 1. 项目运作方式。案例教学通过指导学生参与一个实际的项目开发使其能够了解整
个软件项目开发的过程,了解项目整个开发过程中所涉及到的文档,了解项目代码的书写规范,同时还可以锻炼学生的自主完成项目的精神。 2. 任务驱动教学。通过使学生完成具体的任务,让他们可以掌握实际工作中需要的
技能和方法。案例教学同时覆盖了所对应课程的必要知识点,也是对课本内容很好的回顾。校友录网站应用开发案例是配合《Microsoft SQL Server Management 2005》课程展开的,除应用到本门课程的知识外,还会帮助学生强化以前学到的知识,真正将知识转化为实际的技能。 3. 不占用教学课时。教师指导学生在课外时间逐步完成整个案例设计,也可以在学
期结束后增加一个小学期集中完成。学生最好在同一个实验环境中完成开发任务,如果没有条件的话,也可以在宿舍或家中完成学习任务。 案例教学的目的是:
1. 培养学生完整开发一套数据库系统的能力。该案例教学本身不是培养学生编写项
目文档(需求分析,功能说明等)的能力,也不是培养学生模块设计的能力,主要是培养学生编写数据库代码的能力,即根据项目的具体要求,遵循代码编写规范来编写代码并测试。
2. 了解项目开发的整个过程和所涉及的文档。这里对学生的要求仅限于了解,让学
生对项目文档有感性认识。
1.2 项目背景
开发类课程的案例教学主要的内容是:本练习是为了更好得让学生学习并掌握SQL
操作的应用,以及掌握实现WEB站点内部与数据库内部的互连,并学会如何读取与调用数据库。通过观察网站来学习用SQL语句来编写相对应的数据库,最终达到使网站调试运行成功。
下面就简单介绍一下这个项目的背景和功能。先来介绍一下网站的结构和功能,校
友录网站功能共分为两大部分:用户个人信息功能和班级功能。用户个人信息功能中包含,创建新帐号(包含用户个人信息)、编辑用户个人信息以及上传更新用户个人头像。班级功能中包含,搜索班级、创建学校、创建班级、加入班级、班级留言、班级相册、上传相册以及相册留言等功能。学生将通过完善网站与数据库的互联来实现所有功能。
1.3 项目实例简介 1.3.1 项目涉及的要点
应用asp.Net 语言并结合C# 和VB.Net 以及简单的HTML语言来编写校友录网
站,结合本书部分章节的知识重点来编写适合学生学习并理解的简单网站程序。将要用
4
校友录网站应用设计案例
到以下类:
通过SqlConnection类来获取数据源的连接
使用SqlCommand对象来执行对数据的相关操作 使用SqlDataAdapter对象填充数据集 Parameters参数
DataSet,类型化和非类型化
使用DataSource在DataList中创建互连关系
1.3.2 案例简单介绍
在本章中,我们将通过实例介绍设计过程。
首先,对该网站内容进行一个大体的介绍。该网站目前正处于建设调试阶段,所以要求内部结构清晰简单并易于操作。下面是网站内部页面的主要组成:
新用户注册
新用户注册相关信息,包括姓名、性别、年龄、头像等相关信息 修改用户个人信息
已注册用户可通过修改页面来修改密码、个人信息以及更新个人头像 搜索功能
用户输入同学、班级或学校名称来搜索相关班级信息 创建学校
当用户没有搜索到该学校下的班级时,可自行创建学校并班级 创建班级
当用户没有搜索到该班级时,可自行创建新班级 班级留言
该班级同学可在班级留言板上留言 班级相簿
该班级同学可上传相册 班级通讯录
列出该班级所有同学的信息 班级管理
该班级管理员可在该页面中进行相关数据修改
该项目开发时间很短,而且数据库的大小容量也有限,所以初期只提供上述少量的功能。如果时间和精力允许的话,将逐步扩充该网站的功能和数据库。
5
校友录网站应用设计案例
2 案例教学过程详解
2.1 学生了解网站构架
1) 学生了解项目开发平台
教师指导学生熟悉项目的开发平台,了解整个网站开发的流程。 在这个项目中我们使用的是Microsoft Visual Studio 2005开发平台以及Microsoft SQL 2005作为数据库开发平台。
2) 学生了解项目构架
整个案例设计的框架可以分为以下两个部分: 用户信息
包含新用户注册、修改用户信息、更新用户个人头像 班级信息
包含搜索班级、创建学校、创建班级、加入班级、班级留言、班级相册、上传相册以及相册留言
3) 指导学生编码
在学生对软件开发平台,项目架构,解决方案熟悉的情况下,教师指导学生进行编码。
指导学生完成界面的布局,控件属性的设置 指导学生进行编码实现 指导学生进行测试运行
3 分析与设计
3.1 需求分析
通常,网站的操作流程如下所示: 1. 新用户通过注册系统,获得用户登陆帐号。同时发送用户帐号信息以及个人信
息到后台数据库相关表进行存储。
2. 注册用户可通过修改系统进行登陆密码、个人信息及个人头像的修改,并发送
到后台数据库相关表进行更新。
3. 注册用户可通过搜索功能进行同学、班级以及学校搜索,并可加入搜索到的相
6
校友录网站应用设计案例
关班级。同时发送相关数据到后台数据库相关表进行更新。
4. 登陆用户进入校友录,通过数据库的互连将列举所加入的所有班级。 5. 班级成员可在班级首页的留言板或班级留言板中进行留言,同时发送相关留言
信息到后台数据库相关表进行存储。
6. 班级成员可在上传照片页面中上传相片到所属的所有班级,同时发送相关留言
信息到后台数据库相关表进行存储。
7. 班级成员可在班级相册页面内对照片进行评论,同时发送相关评论信息到后台
数据库相关表进行存储。
注:该数据库将会有相关表来存储用户所加入的不同班级,并对所有相关信息进行分类存储。
3.2 网站设计 3.2.1 默认页设计
Index/Default.aspx,整个网站最初进入的默认页面。
1)页面控件
LonIn控件 HyperLink控件
2)页面功能概述
提供用户登陆,并转入校友录首页。以及搜索功能,当用户点击搜索按钮时跳转至搜索页面。
3.2.2 注册页设计
Index/Register.aspx,新用户注册页面。
1)网页控件
LonIn控件 HyperLink控件 TextBox控件
RequiredFieldValidator验证控件 CustomValidator验证控件 FileUpload控件 Button按钮
7
校友录网站应用设计案例
2)页面功能概述
检查各个注册项的可用性如下: 用户名是否已存在 密码长度 用户姓名不为空 用户生日是否有效 手机号码是否有效 Email是否有效及唯一 当用户单击按钮时,该新用户信息将被发送至数据库UserAccount表和UserInfo表中来存储该用户的帐号信息以及个人信息。
3.2.3 注册成功页设计
Index/Welcome.aspx,欢迎页面。
1)页面功能概述
当新用户注册成功后页面自动跳转至此欢迎页面。
3.2.4 登陆页设计
Index/Login.aspx,用户登陆页面。
1)网页控件
LonIn控件 HyperLink控件 TextBox控件
RequiredFieldValidator验证控件 CustomValidator验证控件 FileUpload控件 Button按钮
2)页面功能概述
检查用户输入的用户名和密码是否存在并匹配,登陆成功页面跳转至欢迎页。
8
校友录网站应用设计案例
3.2.5 登陆成功页设计
Index/WelcomeBack.aspx,欢迎页面。
1)页面功能概述
当登陆成功后页面自动跳转至此欢迎页面。
3.2.6 忘记密码页设计
Index/ForgetPassword.aspx,忘记密码页面。
1)网页控件
LonIn控件 HyperLink控件 TextBox控件
RequiredFieldValidator验证控件 CustomValidator验证控件 Button按钮
2)页面功能概述
检查用户输入的邮箱地址是否有效,发送用户帐号及密码信息至用户注册邮箱中。
3.2.7 密码发送成功页设计
Index/SendPasswordOk.aspx,密码发送成功页面。
1)页面功能概述
当密码发送成功后自动跳转至该页面,提示用户发送已成功,并跳转至默认页面。
3.2.8 搜索页设计
Index/SearchClass.aspx,搜索结果页面。
9
校友录网站应用设计案例
1)网页控件
HyperLink控件 Label控件 DataList控件 Button按钮
2)页面功能概述
显示用户搜索的结果。若用户没有登陆系统将报错并跳转至错误页面。登陆用户可直接通过点击学校或班级链接跳转至相关的学校列表或特定学校。如果未搜索到符合条件的学校,可直接通过点击创建班级按钮,跳转至创建新班级的页面。
3.2.9 报错页设计
Index/Error.aspx,报错页面。
1)页面功能概述
当未登陆用户企图访问需登陆的页面时自动跳转至该报错页面,提示用户登陆。
3.2.10 校友录默认设计
User/Default.aspx,登陆用户进入的默认页面。
1)网页控件
Image控件 HyperLink控件 DropdownList控件 DataList控件 Button按钮
2)页面功能概述
显示用户的基本资料以及最新创建的班级和图片信息,此功能是通过DataList控件的DataSource绑定数据库来实现的。并且用户可以通过该页面的搜索功能来查找符合要求的相关班级。
10
校友录网站应用设计案例
3.2.11 校友录首页设计
User/UserClass.aspx,登陆用户进入校友录后的首页面。
1)网页控件
Image控件 Label控件
HyperLink控件 DataList控件 Button按钮
2)页面功能概述
显示用户的基本资料以及该用户所属的所有班级,此功能是通过DataList控件的DataSource绑定数据库相关信息来实现的。
3.2.12 修改用户资料页设计
User/EditInfo.aspx,修改用户资料页面。
1)网页控件
HyperLink控件 TextBox控件
RequiredFieldValidator验证控件 CustomValidator验证控件 FileUpload控件 Button按钮
2)页面功能概述
注册用户修改个人信息及密码。单击按钮,检查各个项的有效性并发送更新信息至数据库UserInfo及UserAccount表中。
3.2.13 更换头像页设计
User/ChangeImage.aspx,更换用户头像页面。
11
校友录网站应用设计案例
1)网页控件
Image控件 FileUpload控件 Button按钮
2)页面功能概述
显示用户原来头像,当单击保存按钮时将用户更新的头像图片路径信息发送至数据库UserInfo表中的Image项内进行更新,并保存头像图片至网站Image文件夹内。
3.2.14 照片页设计
User/Photo.aspx,用户点击最新上传的照片链接时所进入的页面。
1)网页控件
Label控件 Image控件 Button按钮
2)页面功能概述
该页面只显示照片以及照片基本信息:照片上传人、上传时间以及照片大小。
3.2.15 创建学校页设计
User/CreateSchool.aspx,用户点击创建新学校按钮时所跳转进入的页面。
1)网页控件
Label控件 TextBox控件
RequiredFieldValidator验证控件 CustomValidator验证控件 Button按钮
HTMLInput(Hidden)
12
校友录网站应用设计案例
2)页面功能概述
检查用户所输入的学校名称的有效性,当新学校注册成功后,用户可通过点击下一步按钮直接创建班级。新班级创建成功时,直接跳转至创建班级成功页面来提示用户,并可通过该页面直接进入所创班级。
3.2.16 班级列表页设计
User/ClassList.aspx,用户点击搜索班级页面中的班级链接所进入的页面。
1)网页控件
Label控件 DataList控件 TextBox控件
RequiredFieldValidator验证控件 CustomValidator验证控件 Button按钮
HTMLInput(Hidden)
2)页面功能概述
显示用户所搜索的学校下的所有班级,此功能是通过DataList控件的DataSource绑定数据库来实现的。如果用户未找到符合要求的班级,可通过点击创建新班级按钮直接在页面下方进行新班级的创建。当新班级创建成功时,直接跳转至创建班级成功页面来提示用户,并可通过该页面直接进入所创班级。
3.2.17 创建班级成功页设计
User/CreateClassOk.aspx,用户班级成功后所进入的页面。
1)网页控件
Label控件 Button按钮
HTMLInput(Hidden)
13
校友录网站应用设计案例
2)页面功能概述
显示用户所创建的班级信息,此功能是通过DataList控件的DataSource绑定数据库来实现的。用户可通过点击进入班级按钮直接进入所创新班级。
3.2.18 班级首页设计
User/ClassHome.aspx, 登陆用户进入班级后的首页面。
1)网页控件
Image控件 Label控件
HyperLink控件 DataList控件
RequiredFieldValidator验证控件 CustomValidator验证控件 LinkButton按钮 Button按钮
2)页面功能概述
显示登陆用户的基本个人信息以及该班级的班级留言,班级成员可直接在下方进行留言。班级信息列中显示该班级的基本信息包含创建时间、创建人、管理员和班级成员总数。申请加入班级的同学列中显示了申请加入该班级还未被批准的用户,班级同学都有权利进行批准。
非本班同学可通过点击加入班级按钮来申请加入该班级。 本班同学可通过点击与该班脱离关系按钮直接退出班级。
3.2.19 班级留言页设计
User/ClassMessage.aspx, 登陆用户进入班级后的留言页面。
1)网页控件
Label控件
HyperLink控件 DataList控件
RequiredFieldValidator验证控件 Button按钮
14
校友录网站应用设计案例
2)页面功能概述
显示该班级的所有留言以及留言总数,班级成员可直接在下方进行留言。留言人可通过点击删除按钮删除本人留言。
3.2.20 班级相册页设计
User/ClassAlbum.aspx, 登陆用户进入班级后的相册页面。
1)网页控件
Label控件
HyperLink控件 DataList控件 Button按钮
2)页面功能概述
显示该班级的所有照片以及照片总数,班级成员可直接点击照片进入该照片页。照片上传人可通过点击删除按钮删除本人上传的照片。
3.2.21 班级照片页设计
User/ClassPhoto.aspx, 登陆用户点击照片后所进入的相册页面。
1)网页控件
Image控件 Label控件
HyperLink控件 DataList控件
RequiredFieldValidator验证控件 Button按钮
2)页面功能概述
显示该照片的全部信息和评论信息,包含照片上传人、上传时间、评论总数、照片大小、照片评论人、评论时间以及评论内容。班级成员可直接在照片下方的评论框内发表评论。照片评论人可通过点击删除按钮删除本人的评论。点击上传照片按钮将直接跳转至上传照片
15
校友录网站应用设计案例
页面。
3.2.22 上传照片页设计
User/UploadPhoto.aspx, 登陆用户点击上传照片按钮后所进入的页面。
1)网页控件
Label控件
HyperLink控件 TextBox控件 FileUpload控件 DataList控件 CheckBox控件 Button按钮
2)页面功能概述
班级成员通过此页面进行照片上传,并可选择将该照片上传至用户所属的所有班级。
3.2.23 上传照片成功页设计
Index/UploadPhotoOk.aspx,照片成功上传后所跳转的页面。
1)页面功能概述
当照片成功上传后自动跳转至该页面,提示用户已成功上传,并跳转至班级相册页面。
3.2.24 班级通讯录页设计
User/AddressList.aspx, 登陆用户进入班级后的通讯录页面。
1)网页控件
Label控件
HyperLink控件 DataList控件 Button按钮
16
校友录网站应用设计案例
2)页面功能概述
显示该班级所有同学的信息,包含同学姓名、性别、出生日期、手机号码、居住地址以及邮箱。
3.2.25 班级管理页设计
User/ClassManage.aspx, 管理员进入班级后的管理页面。
1)网页控件
Label控件
HyperLink控件 DataList控件 Button按钮
2)页面功能概述
班级管理员可对该班级的所有成员以及申请加入班级的用户进行管理。管理员可设置班级成员与班级管理员头衔的转换,以及批准申请加入的同学。班级创始人可以删除本班级。
3.2.26 网站关系图
3.3 数据库设计 3.3.1 架构创建
架构webapp用于实现数据库安全管理,后面所建表,视图及存储过程都建立在此架构上。
1)架构定义
架构名称 架构所有者 webapp dbo 17
校友录网站应用设计案例
数据库创建
数据库的实现开始于具体地考虑数据库的表和字段等细节。下面将详细的列举数据库内所包含的相关信息数据。
创建一个新数据库,命名为SchoolMates。在该数据库中新建数表,具体内容如下:
1)UserAccount表
UserAccount表用于记录各个用户的帐号信息,包括用户登陆帐号以及用户登陆密码。各字段的定义如下表所示: 列名 UserID Password 数据类型 Varchar(20) Varchar(20) 允许空 否 否 说明 用户登陆ID 用户登陆密码 备注 主键。自动增长 2)UserInfo表
UserInfo表用于记录用户的个人信息,包括用户登陆帐号、用户姓名、性别、出生日期、注册日期、手机号码、住址、邮箱地址、头像地址。各字段的定义如下表所示: 列名 UserID Name Sex Birth RegDate Mobile Address Email Image 类型 Varchar(20) Varchar(20) Char(2) Datetime Datetime Varchar(20) Varchar(200) Varchar(50) Varchar(100) 允许空 否 否 否 否 是 是 是 否 是 说明 用户登陆ID 用户姓名 用户性别 出生日期 注册时间 手机号码 住址 邮箱地址 头像图片路径 备注 主键,外键 默认值为函数(getdate()) 3)Title表
Title表用于记录用户头衔信息,包含头衔ID、头衔名称以及头衔描述。各字段的定义如下表所示: 列名称 TitleID TitlelName Description 数据如下图所示: 类型 int Varchar(20) Varchar(20) 允许空 否 否 是 说明 头衔ID 头衔名称 描述 备注 主键。自动增长 18
校友录网站应用设计案例
4)UserClass表
UserClass表用于记录用户所属班级信息,包含登陆帐号、班级ID以及头衔ID,每一用户在该表中都对应一条或多条记录。各字段的定义如下表所示: 列名称 UserID ClassID TitleID 类型 Varchar(20) int int 允许空 否 否 是 说明 用户登陆ID 班级ID 头衔ID 备注 主键,外键 主键,外键 外键,默认值为(0) 5)SchoolInfo表
SchoolInfo表用于记录用户所属学校信息,包含学校ID以及学校名称。各字段的定义如下表所示: 列名称 SchoolID SchoolName 类型 int Varchar(50) 允许空 否 否 说明 学校ID 学校名称 备注 主键。自动增长 唯一 6)ClassInfo表
ClassInfo表用于记录班级信息,包含班级ID、班级名称、创建人、创建时间以及所属
学校ID。各字段的定义如下表所示: 列名称 ClassID ClassName CreatBy CreateDate SchoolID 类型 int varchar(50) Varchar(20) datetime int 允许空 否 否 否 是 否 说明 班级ID 班级名称 创建人 创建时间 所属学校ID 备注 主键 外键 外键 7)MessageBoard表
MessageBoard表用于记录班级的留言信息,包含留言ID、留言内容、留言人、留言时
19
校友录网站应用设计案例
间、留言修改时间以及所对应的班级ID。各字段的定义如下表所示: 列名称 MessageBoardID MessageContent CreatBy CreatDate EditDate ClassID 类型 int Varchar(500) Varchar(20) datetime datetime int 允许空 否 否 否 是 是 否 说明 留言ID 留言内容 留言人 留言时间 留言修改时间。 所对应的班级ID 备注 主键,自动增长 外键 默认值为函数(getdate()) 默认值为函数(getdate()) 外键 8)Album表
Album表用于记录班级相册簿与照片的关联,包含相册簿ID以及图片ID,每一图片在该表中都对应一条或多条记录。各字段的定义如下表所示:
列名称 AlbumID PhotoID 类型 int int 允许空 否 否 说明 相册簿ID 图片ID 备注 主键,外键 主键 9)Photo表
Photo表用于记录图片的信息,包含图片ID、图片名称、上传人、上传时间、图片路径以及图片大小。各字段的定义如下表所示:
列名称 PhotoID PhotoName UploadBy UploadDate PhotoPath PhotoSize 类型 int Varchar(200) Varchar(20) datetime Varchar(50) int 允许空 否 否 否 是 否 否 说明 图片ID 图片名称 上传人 上传时间 图片路径 图片大小(字节) 备注 主键,自动增长 默认值为函数(getdate()) 唯一 10)Comment表
Comment表用于记录图片的评论信息,包含评论ID、评论人、评论时间、评论内容、评论图片ID以及图片所属相册ID。各字段的定义如下表所示:
列名称 类型 允许空 20
说明 备注 校友录网站应用设计案例
CommentID CommentBy CommentDate CommentContent PhotoID AlbumID int Varchar(20) datetime Varchar(200) int int 否 否 是 否 否 否 评论ID 评论人 评论时间 评论内容 评论图片ID 图片所属相册ID 主键,自动增长 外键 默认值为函数(getdate()) 外键 外键 数据库关系图
下图为数据库SchoolMates的关系图,通过各个表的关联,创建如下关系图。
系统视图
1)vClassPhoto系统视图
视图vClassPhoto用于查询班级照片信息及照片评论数。具体代码如下所示: SET ANSI_NULLS ON GO
SET QUOTED_IDENTIFIER ON GO
CREATE VIEW [dbo].[vClassPhoto] AS
SELECT TOP (100) PERCENT dbo.Album.AlbumID, dbo.Album.PhotoID,
dbo.Photo.PhotoName, dbo.Photo.UploadBy, dbo.UserInfo.Name, dbo.Photo.UploadDate,
21
校友录网站应用设计案例
dbo.Photo.PhotoPath, ISNULL(derivedtbl_1.count_comment, 0) AS CountComment
FROM dbo.Album INNER JOIN
dbo.Photo ON dbo.Album.PhotoID = dbo.Photo.PhotoID INNER JOIN
dbo.UserInfo ON dbo.Photo.UploadBy = dbo.UserInfo.UserID LEFT OUTER JOIN
(SELECT AlbumID, PhotoID, COUNT(CommentID) AS count_comment
FROM dbo.Comment
GROUP BY AlbumID, PhotoID) AS derivedtbl_1 ON derivedtbl_1.AlbumID = dbo.Album.AlbumID AND
derivedtbl_1.PhotoID = dbo.Album.PhotoID ORDER BY dbo.Photo.UploadDate DESC GO
EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPane1', @value=N'[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00] Begin DesignProperties =
Begin PaneConfigurations = Begin PaneConfiguration = 0 NumPanes = 4
Configuration = \"(H (1[40] 4[20] 2[20] 3) )\" End
Begin PaneConfiguration = 1 NumPanes = 3
Configuration = \"(H (1 [50] 4 [25] 3))\" End
Begin PaneConfiguration = 2 NumPanes = 3
Configuration = \"(H (1 [50] 2 [25] 3))\" End
Begin PaneConfiguration = 3 NumPanes = 3
Configuration = \"(H (4 [30] 2 [40] 3))\" End
Begin PaneConfiguration = 4 NumPanes = 2
Configuration = \"(H (1 [56] 3))\" End
Begin PaneConfiguration = 5 NumPanes = 2
Configuration = \"(H (2 [66] 3))\" End
22
校友录网站应用设计案例
Begin PaneConfiguration = 6 NumPanes = 2
Configuration = \"(H (4 [50] 3))\" End
Begin PaneConfiguration = 7 NumPanes = 1
Configuration = \"(V (3))\" End
Begin PaneConfiguration = 8 NumPanes = 3
Configuration = \"(H (1[56] 4[18] 2) )\" End
Begin PaneConfiguration = 9 NumPanes = 2
Configuration = \"(H (1 [75] 4))\" End
Begin PaneConfiguration = 10 NumPanes = 2
Configuration = \"(H (1[66] 2) )\" End
Begin PaneConfiguration = 11 NumPanes = 2
Configuration = \"(H (4 [60] 2))\" End
Begin PaneConfiguration = 12 NumPanes = 1
Configuration = \"(H (1) )\" End
Begin PaneConfiguration = 13 NumPanes = 1
Configuration = \"(V (4))\" End
Begin PaneConfiguration = 14 NumPanes = 1
Configuration = \"(V (2))\" End
ActivePaneConfig = 0 End
Begin DiagramPane = Begin Origin = Top = 0 Left = 0 End
Begin Tables =
23
校友录网站应用设计案例
Begin Table = \"Album\" Begin Extent = Top = 6 Left = 38 Bottom = 91 Right = 169 End
DisplayFlags = 280 TopColumn = 0 End
Begin Table = \"Photo\" Begin Extent = Top = 6 Left = 207 Bottom = 121 Right = 344 End
DisplayFlags = 280 TopColumn = 0 End
Begin Table = \"UserInfo\" Begin Extent = Top = 96 Left = 38 Bottom = 211 Right = 169 End
DisplayFlags = 280 TopColumn = 0 End
Begin Table = \"derivedtbl_1\" Begin Extent = Top = 126 Left = 207 Bottom = 226 Right = 3 End
DisplayFlags = 280 TopColumn = 0 End End End
Begin SQLPane = End
24
校友录网站应用设计案例
Begin DataPane =
Begin ParameterDefaults = \"\" End
Begin ColumnWidths = 9 Width = 284 Width = 1500 Width = 1500 Width = 1500 Width = 1500 Width = 1500 Width = 1500 Width = 1500 Width = 1500 End End
Begin CriteriaPane =
Begin ColumnWidths = 11 Column = 1440 Alias = 900 Table = 1170 Output = 720 Append = 1400 NewValue = 1170 SortType = 1350 SortOrder = 1410 GroupBy = 1350 Filter = 1350 Or = 1350 Or = 1350 Or = 1350 End
' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'VIEW', @level1name=N'vClassPhoto' GO
EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPane2', @value=N' End End
' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'VIEW', @level1name=N'vClassPhoto' GO
EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPaneCount',
@value=2 ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'VIEW', @level1name=N'vClassPhoto'
25
校友录网站应用设计案例
系统存储过程
当网站要从数据库读取大量的数据时,我们将应用系统存储过程来方便调用操作。
1)dbo.CreateUser存储过程
首先,在可编程性下的存储过程中新建一个名为dbo.CreateUser的存储过程,该存储过程用于在数据库UserAccount表和UserInfo表中插入新用户的信息。具体代码如下所示:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON go
ALTER PROCEDURE [dbo].[CreateUser] @userID varchar(20), @password varchar(50), @name varchar(20), @sex char(2), @birth datetime, @mobile varchar(20), @address varchar(200), @email varchar(50), @image varchar(100) AS BEGIN BEGIN TRANSACTION INSERT INTO UserAccount(UserID,Password) VALUES(@userID,@password); INSERT INTO
UserInfo(UserID,[Name],Sex,Birth,Regdate,Mobile,Address,Email,[Image])
VALUES(@userID,@name,@sex,@birth,getdate(),@mobile,@address,@email,@image); COMMIT TRANSACTION END
2)dbo.UpdateUser存储过程
首先,在可编程性下的存储过程中新建一个名为dbo.UpdateUser的存储过程,该存储过程用于更新数据库UserAccount表和UserInfo表中的信息。具体代码如下所示:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON go
26
校友录网站应用设计案例
ALTER procedure [webapp].[UpdateUser] @userID varchar(20), @password varchar(20), @name varchar(20), @sex char(2), @birth datetime, @mobile varchar(20), @address varchar(200), @email varchar(50) AS BEGIN BEGIN TRANSACTION Update UserInfo Set [Name]=@name, Sex=@sex, Birth=@birth, Mobile=@mobile, Address=@address, Email=@email where UserID=@userID; Update UserAccount Set Password=@password Where UserID=@userID; COMMIT TRANSACTION END
3)dbo.UploadPhoto存储过程
首先,在可编程性下的存储过程中新建一个名为dbo.UploadPhoto的存储过程,该存储过程用于上传图片,向数据库Photo表和Album表插入一条记录。具体代码如下所示:
SET ANSI_NULLS ON GO
SET QUOTED_IDENTIFIER ON GO
CREATE PROCEDURE [dbo].[UploadPhoto] @photoName varchar(200), @uploadBy varchar(20), @photoPath varchar(50),
27
校友录网站应用设计案例
@photoSize int, @albumID int AS BEGIN SET NOCOUNT ON; declare @id int; begin tran if (not exists (select * from Photo where PhotoPath=@photoPath)) begin insert into Photo(PhotoName,UploadBy,UploadDate,PhotoPath,PhotoSize) values(@photoName,@uploadBy,getdate(),@photoPath,@photoSize); select @id=@@IDENTITY; end else select @id=PhotoID from Photo where PhotoPath=@photoPath; insert into Album values(@albumID,@id); commit tran END
28
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- sarr.cn 版权所有 赣ICP备2024042794号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务