SQL同学录管理信息系统

SQL同学录管理信息系统
SQL同学录管理信息系统

SQL Server数据库

——课程设

题目:同学录管理信息系统

院(系):信息技术系

班级:

学号:

学生姓名:

一、数据需求分析:

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图;

三、数据库逻辑结构设计:

(1)用户基本信息数据项为:用户ID、用户密码,联系电话,邮箱,性别,原所在班级,出生年月,真实姓名,用户地址,用户自定义完整

(2)管理员基本数据项为:管理员用户名,密码

(3)留言板基本数据项为:留言编号,留言主题,留言内容,留言发布人,留言日期

(4)照片基本数据项为:照片编号,用户编号,照片时间,上传时间四、数据库物理结构设计:

属性列字符类型是否可空值注解

UserID Varchar(20) No用户编号(主键)

PassWordsVarchar(15)No 用户密码

TelephoneNvarchar(15)No 联系电话

EMail Varchar(25) No邮箱

Sex Bit(1) No性别

Class Char(20) No 原所在班级

Birthday Smalldateti

me(4) No 出生年月

Realname Nvarchar(10)No 真实姓名

Address Varchar(15) No 用户地址

VideoPermissi

on

Char(2) No 用户自定义完整(冗余)

表 2admin表

属性列字符类型是否可空值注解

UserID Varchar(20) No管理员用户名(主键)

PassWordsVarchar(20)No密码

表 3 message表

注解属性列字符类型是否可空

MessNum Bigint(8) No 留言编号(主键)

留言主题MesstTheme Varchar(1

00)

MessTextText(16) No留言内容

MessID Char(20) No 留言发布人Date Varchar(50) No 留言日期

表 4 photo表

注解属性列字符类型是否可空

PhotoNum Bigint(8) No照片编号(主键)ID Varchar(20) No用户编号

Photodate Varchar(50) No 照片时间

Smalldatetime(4)No 上传时间

Updatetim

五、数据库实现

(1)创建同学录数据库库

Create database TXL

On primary

(Name=TXL_data1,FileName='d:\TXL _data.mdf' ,

Size =1,

Maxsize = unlimited,

FileGrowth = 10% ),

Filegroup data2

( Name=TXL_data2,filename = 'd:\TXL_data2.ndf',

Size = 2,

Maxsize = 100,

FileGrowth = 1 ),

Log On

( Name=TXL_log1,filename='d:\TXL_log1.ldf', Size =5mb,

Maxsize =50mb,

Filegrowth = 10% ),

Go

(2)创建用户表

Createtable user_Info(

User_ID Varchar(20) primary key,

PassWords Varchar (15) ,

Telephone Nvarchar (15),

Email Varchar (25) ,

Sex Bit (1 ),

Class Char(20) ,

BirthdaySmalldatetime(4) ,

Realname Nvarchar(10),

Address Varchar(15),

VideoPermission Char(2),

Go

(3)创建管理员表

Create table Admin_info

UserID Varchar (20)primary key ,

Password Varchar (15) ,

Go

(4)创建留言板表

Create table Message_info

MessNum Bigint (8) primarykey ,

MessTheme Varchar (100) ,

MessText Text (16) ,

MessID Char (20) ,

Date Varchar (50) ,

Go

(5)创建照片信息表

Create table Photo_info

PhotoNum Bigint(8) primarykey,

ID Varchar (20) ,

PhotodateVarchar(50) ,

Updatetime Smalldatetime (4),

Go

六、数据库对象设计

1.视图设计

SELECTdbo.User_info.realname, dbo.photo_info.pho todate

FROM dbo.user_info INNER JOIN

dbo.photo_info ON https://www.360docs.net/doc/083223372.html,er_info.userid = d bo.photo_info.id

Create table[Photo_info] (

?[PhotoNum] [Bigint] (8) COLLATEChinese_PRC_CI_AS NOT NULL ,

?[ID] [Varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,?[Photodate] [varchar] (50) COLLATEChinese_PRC_CI_A SNOT NULL ,

?[Updatetime] [ Smalldatetime] (40) COLLATE Chinese _PRC_CI_AS NOT NULL ,

CONSTRAINT [PK_Photo_info] PRIMARY KEYCLUSTERED

?(

??[PhotoNum]

) ON [PRIMARY] ,

CONSTRAINT [PhotoNum] FOREIGN KEY

?(

??[ID]

) REFERENCES[User_info] (

[UserID]

)

) ON [PRIMARY]

GO

用户关系图

CREATE TABLE [User_info](

?[User_ID] [Varchar](20) COLLATE Chinese_PRC_CI_AS NOT NULL ,

[PassWords] [Varcha] (15) COLLATE Chinese_PRC_CI_ASNOT NULL ,

[Telephone] [Nvarchar] (15) COLLATE Chinese_PRC_CI_AS NOT NULL ,

[Email ] [Varchar] (25) COLLATE Chinese_PRC_CI_AS NOTNULL ,

[Sex] [Bit] (1) COLLATE Chinese_PRC_CI_AS NOT NULL , [Class] [Char](20) COLLATE Chinese_PRC_CI_AS NOT NULL ,

[Birthday] [Smalldatetime] (4) COLLATEChinese_PRC_CI_AS NOTNULL,

[Realname ] [Nvarchar] (10)COLLATE Chinese_PRC_CI_AS NOT NULL ,

[Address][Varcha] (15) COLLATE Chinese_PRC_CI_AS NOTNULL ,

[VideoPermission] [ Char] (2) COLLATEChinese_PRC _CI_AS NOT NULL ,

CONSTRAINT [PK_User_info] PRIMARY KEY CLUSTERED

[UserID]

) ON [PRIMARY]

) ON [PRIMARY]

GO

留言板关系图

CREATETABLE [message_info] (

?[MessNum] [Bigint] (8) COLLATE Chinese_PRC_CI_AS NOT NULL ,

[MessTheme] [Varchar] (100) COLLATEChinese_PRC_CI_ASNOT NULL ,

[MessText][Text] (16)COLLATE Chinese_PRC_CI_AS NO TNULL ,

?[MessID] [Char] (200) COLLATEChinese_PRC_CI_AS N OT NULL,

?[Date [Varcha] (10) COLLATE Chinese_PRC_CI_AS NOTNULL , ?[U_DT] [datetime] NULL ,

?[

CONSTRAINT [PK_message_info] PRIMARY KEY CLUSTERED

(

?[MessNum]

?) ON [PRIMARY] ,

?CONSTRAINT [FK_User_info] FOREIGN KEY

(

[MessID]

)REFERENCES [photo] (

??[ID]

)

) ON[PRIMARY]

GO

主键约束

ALTER TABLE [dbo].[Photo_info] ADD CONSTRAINT [PK_photo_info] PRIMARY KEY CLUSTERED

?(

[ID]

)ON [PRIMARY]

GO

外键约束

ALTER TABLE [dbo].[Photo]_info ADD CONSTRAINT [FK_Photo_info_User_info]FOREIGN KEY

?(

?[ID]

?) REFERENCES [managers_info] (

[UserID]

)

GO

存储过程

use TXL

If exists (select name from sysobjectswhere name='u ser_some'and type='p')

Drop procedure user_some

go

create procedure user_some

as

begin

delete from User_info whereUserID='1'

delete fromPhoto_info where ID='1'

delete fromMessage_info where MessID='1'

end

go

execuser_some

go

4、数据完整性设计

通过定义表的主键来和确定属性的数据类型来保证数据的完整性,减少数据信息的重复。通常实施数据完整性的形式和方法有:约束、默认值、规则、存储过程、和触发器等。

相关主题
相关文档
最新文档