SQL同学录管理信息系统.docx
《SQL同学录管理信息系统.docx》由会员分享,可在线阅读,更多相关《SQL同学录管理信息系统.docx(20页珍藏版)》请在冰点文库上搜索。
![SQL同学录管理信息系统.docx](https://file1.bingdoc.com/fileroot1/2023-6/3/931c90c8-768d-4f98-8b8d-7758994bbbae/931c90c8-768d-4f98-8b8d-7758994bbbae1.gif)
SQL同学录管理信息系统
SQLServer数据库
——课程设计
题目:
同学录管理信息系统
院(系):
信息技术系
班 级:
学 号:
学生姓名:
一、数据需求分析:
1.1背景和意义
在计算机技术的快速发展的背景下,特别是计算机网络的发展,使得人们的生活方式在不断的变化。
使得人们以更低廉的价格,开发出更加方便,更加实用的网络工具。
各种在线服务系统,更是深刻影响了人们的连续方式,使得人们能够在远隔千里之外能够随时通讯。
过去种种陈旧的联系方式,已不能满足现代生活的需要。
网上同学录应运而生并且已经得到了广泛的应用。
通过这种方式我们能及时更新用户信息,极大的方便了以后同学的联系。
1.2系统概况
本系统的服务主要包括:
通信录、留言板(或论坛)等。
后台可以对本系统的各种信息进行维护管理。
系统前台用户通过注册后可以访问前台界面,登录网站界面,进行通讯交流;但是系统后台只有管理员身份才能进入。
管理员通过身份密码验证,进入到后台管理系统,方能对本系统的各个信息进行维护和管理,包括增、删、改基本信息的操作。
1.3 研究内容、目标及意义
该课题为设计并实现一个基于ASP技术的动态网络同学录网站。
该网站主要具有如下模块:
1.登录信息管理:
包含用户注册、用户登录和修改个人信息功能。
2.通信录的管理:
包含添加、查看、修改和删除教师与学生的通信录。
3.留言消息管理:
包含发表、编辑、查看和删除留言消息功能。
4.管理员的功能:
对注册用户和用户建立的班级进行管理并对网站的参数进行定义的功能。
网站建设的主要基本目标为:
1.登录信息管理:
对于普通用户,只有通过用户注册,注册成功后才可以登录本系统;用户还可以通过修改个人信息功能对自己的信息加以修改。
而管理员通过登录,实现对网站更好的服务和管理。
2.通信录的管理:
通过添、删、改等基本操作完善教师与学生的通讯信息。
3.留言信息管理:
通过添、删、改等基本操作用户可以留言;或发表论坛新主题,对其主题进行回复,当然还可以进行编辑、删除主题与回复,从而实现论坛上的交流。
4.管理员的功能:
通过此功能实现对注册用户进行管理并对网站的参数进行定义。
2.系统总体结构
二、数据库概念设计(E-R图设计):
用户E-R图:
管理员用户E-R图:
留言信息E-R图:
照片E-R图;
同学录数据库E-R图;
三、数据库逻辑结构设计:
(1)用户基本信息数据项为:
用户ID、用户密码,联系电话,邮箱,性别,原所在班级,出生年月,真实姓名,用户地址,用户自定义完整
(2)管理员基本数据项为:
管理员用户名,密码
(3)留言板基本数据项为:
留言编号,留言主题,留言内容,留言发布人,留言日期
(4)照片基本数据项为:
照片编号,用户编号,照片时间,上传时间
四、数据库物理结构设计:
表1user表
属性列
字符类型
是否可空值
注解
UserID
Varchar(20)
No
用户编号(主键)
PassWords
Varchar(15)
No
用户密码
Telephone
Nvarchar(15)
No
联系电话
EMail
Varchar(25)
No
邮箱
Sex
Bit
(1)
No
性别
Class
Char(20)
No
原所在班级
Birthday
Smalldatetime(4)
No
出生年月
Realname
Nvarchar (10)
No
真实姓名
Address
Varchar(15)
No
用户地址
VideoPermission
Char
(2)
No
用户自定义完整(冗余)
表2 admin 表
属性列
字符类型
是否可空值
注解
UserID
Varchar(20)
No
管理员用户名(主键)
PassWords
Varchar(20)
No
密码
表3message表
属性列
字符类型
是否可空值
注解
MessNum
Bigint(8)
No
留言编号(主键)
MesstTheme
Varchar(100)
留言主题
MessText
Text(16)
No
留言内容
MessID
Char(20)
No
留言发布人
Date
Varchar(50)
No
留言日期
表4photo表
属性列
字符类型
是否可空值
注解
PhotoNum
Bigint(8)
No
照片编号(主键)
ID
Varchar(20)
No
用户编号
Photodate
Varchar(50)
No
照片时间
Updatetime
Smalldatetime(4)
No
上传时间
五、数据库实现
(1)创建同学录数据库库
CreatedatabaseTXL
Onprimary
(Name=TXL_data1,FileName='d:
\TXL_data.mdf',
Size=1,
Maxsize= unlimited,
FileGrowth=10% ),
Filegroupdata2
(Name=TXL_data2,filename='d:
\TXL_data2.ndf',
Size = 2,
Maxsize=100,
FileGrowth=1),
LogOn
(Name=TXL_log1,filename= 'd:
\TXL_log1.ldf',
Size=5mb,
Maxsize= 50mb,
Filegrowth=10%),
Go
(2)创建用户表
Create table user_Info(
User_ID Varchar (20) primarykey ,
PassWords Varchar(15),
Telephone Nvarchar(15) ,
Email Varchar (25),
Sex Bit
(1) ,
ClassChar(20) ,
Birthday Smalldatetime (4),
RealnameNvarchar (10) ,
AddressVarchar (15),
VideoPermission Char(2) ,
Go
(3)创建管理员表
CreatetableAdmin_info
UserID Varchar(20) primarykey,
Password Varchar(15) ,
Go
(4)创建留言板表
Create tableMessage_info
MessNumBigint(8)primary key ,
MessThemeVarchar(100),
MessTextText (16),
MessID Char(20) ,
Date Varchar (50) ,
Go
(5)创建照片信息表
Create tablePhoto_info
PhotoNum Bigint(8) primarykey,
ID Varchar(20),
Photodate Varchar(50),
Updatetime Smalldatetime (4),
Go
六、数据库对象设计
1.视图设计
SELECT dbo.User_info.realname, dbo.photo_info.photodate
FROMdbo.user_infoINNER JOIN
dbo.photo_info ONdbo.user_info.userid= dbo.photo_info.id
Create table [Photo_info](
ﻩ[PhotoNum][Bigint](8) COLLATE Chinese_PRC_CI_ASNOTNULL,
ﻩ[ID][Varchar](20)COLLATEChinese_PRC_CI_ASNOTNULL,
ﻩ[Photodate][varchar](50) COLLATE Chinese_PRC_CI_AS NOTNULL ,
ﻩ[Updatetime] [Smalldatetime] (40)COLLATE Chinese_PRC_CI_ASNOT NULL,
CONSTRAINT[PK_Photo_info]PRIMARYKEY CLUSTERED
ﻩ(
ﻩﻩ[PhotoNum]
)ON[PRIMARY] ,
CONSTRAINT[PhotoNum]FOREIGNKEY
ﻩ(
ﻩﻩ[ID]
)REFERENCES [User_info](
[UserID]
)
)ON[PRIMARY]
GO
用户关系图
CREATETABLE[User_info] (
ﻩ[User_ID][Varchar] (20) COLLATEChinese_PRC_CI_ASNOTNULL,
[PassWords][Varcha](15)COLLATEChinese_PRC_CI_ASNOTNULL ,
[Telephone][Nvarchar](15)COLLATEChinese_PRC_CI_ASNOTNULL ,
[Email][Varchar](25)COLLATE Chinese_PRC_CI_ASNOT NULL,
[Sex][Bit]
(1)COLLATE Chinese_PRC_CI_ASNOTNULL,
[Class][Char] (20)COLLATEChinese_PRC_CI_AS NOTNULL,
[Birthday][Smalldatetime](4)COLLATE Chinese_PRC_CI_ASNOTNULL,
[Realname][Nvarchar](10) COLLATEChinese_PRC_CI_ASNOTNULL,
[Address] [Varcha](15) COLLATE Chinese_PRC_CI_ASNOTNULL,
[VideoPermission][Char] (2)COLLATEChinese_PRC_CI_ASNOTNULL,
CONSTRAINT[PK_User_info]PRIMARYKEYCLUSTERED
(
[UserID]
)ON[PRIMARY]
)ON[PRIMARY]
GO
留言板关系图
CREATE TABLE[message_info](
ﻩ[MessNum][Bigint](8)COLLATE Chinese_PRC_CI_ASNOTNULL ,
[MessTheme][Varchar] (100) COLLATEChinese_PRC_CI_AS NOTNULL,
[MessText] [Text](16) COLLATEChinese_PRC_CI_ASNOT NULL ,
ﻩ[MessID][Char](200)COLLATEChinese_PRC_CI_ASNOTNULL,
ﻩ[Date[Varcha](10) COLLATEChinese_PRC_CI_ASNOT NULL,
ﻩ[U_DT] [datetime]NULL,
ﻩ[
CONSTRAINT[PK_message_info]PRIMARY KEYCLUSTERED
(
ﻩ[MessNum]
ﻩ)ON[PRIMARY] ,
ﻩCONSTRAINT[FK_User_info]FOREIGN KEY
(
[MessID]
) REFERENCES[photo](
ﻩﻩ[ID]
)
) ON[PRIMARY]
GO
主键约束
ALTERTABLE [dbo].[Photo_info]ADD CONSTRAINT[PK_photo_info]PRIMARYKEY CLUSTERED
ﻩ(
[ID]
) ON[PRIMARY]
GO
外键约束
ALTERTABLE[dbo].[Photo]_infoADDCONSTRAINT[FK_Photo_info_User_info] FOREIGNKEY
ﻩ(
ﻩ[ID]
ﻩ)REFERENCES[managers_info](
[UserID]
)
GO
存储过程
useTXL
Ifexists(selectnamefromsysobjects where name='user_some'andtype='p')
Dropprocedureuser_some
go
createprocedureuser_some
as
begin
delete fromUser_info where UserID='1'
delete from Photo_infowhere ID='1'
deletefromMessage_infowhereMessID='1'
end
go
execuser_some
go
4、数据完整性设计
通过定义表的主键来和确定属性的数据类型来保证数据的完整性,减少数据信息的重复。
通常实施数据完整性的形式和方法有:
约束、默认值、规则、存储过程、和触发器等。
5、数据库安全性设计
数据库的创建者拥有数据库的最初的所有权限,包括在普通用户中选择管理员的权力。
管理员拥有添加删除班级人员的权限,普通用户可以访问其他用户信息,修改自己信息,注销自己用户信息等权限。
数据库备份采用差异数据备份,并周期性进行完全数据备份
六、存在问题与不足:
通过这次的设计我发现开始学的东西已经忘记的差不多里,这次设计很好的把我们所学的内容整个的串联起来,使得我们巩固了以前的知识,并且更加深刻的理解,开始时候老师提到同学录的时候,我们如何也想不到SqL是如何实现的,会认为这是一件很神奇的事情,对于我们而言还停留在纸笔的现状,深刻的了解里我们在计算机领域早已经落后了很长时间,在此次设计中不能够充分理解一些简单的概念导致做出的与理想有偏差,对计算机掌握不熟练,生疏的操作,才知道原来自己什么都不会,让自己对自身也有了更深刻的认知。
同学录这个设计要是在网上完全实现,须结合ASP,单独的实用SQL无法实现网上联系的功能,自身对计算机的不熟练以及对知识掌握的不够清晰,深刻的理解了要善于用自己的资源来充实自己,还需要对那些以为自己会的东西经常回顾才能够在用到的时候不会感觉那么吃力,孰能生巧是永远不会错的,对知识的生疏会是自己的工作量成倍的增加。