数据库课程设计C#+SQL实现楼盘销售管理系统 大作业源代码+数据库+论文+使用说明
Posted CSDN专家-小兔子编程
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库课程设计C#+SQL实现楼盘销售管理系统 大作业源代码+数据库+论文+使用说明相关的知识,希望对你有一定的参考价值。
一、C#+SQL实现楼盘销售管
包含完整的论文(字数6000+)+源程序+数据库+使用说明,可作为数据库、软件开发等相关课程的课程设计或者大作业;末尾有下载地址
二、目录
1、背景与意义...................................................... 4
1.1目的与要求................................................... 4
1.2设计环境..................................................... 4
2、需求分析........................................................ 5
2.1信息要求..................................................... 5
2.2 处理要求.................................................... 5
2.3安全性与完整性要求........................................... 5
2.4数据流图..................................................... 5
2.5数据字典(简称DD).......................................... 6
3、概念模型设计.................................................... 7
3.1 系统实体间的E-R图.......................................... 8
4、逻辑结构设计................................................... 11
4.1 关系模式................................................... 11
5、物理结构设计................................................... 12
5.1选定环境.................................................... 12
5.2 索引....................................................... 12
6、数据库的实施与维护............................................. 12
6.1 关键表设计................................................. 12
7、系统运行情况及用户界面......................................... 18
7.1操作界面运行情况............................................ 18
8、设计过程体会与建议............................................. 24
8.1 经验教训................................................... 24
9、参考文献:........................................................ 25
—————————————————————————————————
此处省略几千字
—————————————————————————————————
二、需求分析
本系统为网上楼盘销售系统,系统按不同使用对象分不同的角色信息。
用户:系统需要用户提供用户账号、用户密码、用户姓名、用户性别、联系电话、地址来进行完善用户。用户可在本系统内预定房产、查看销售员信息、查看房产信息、查看已购房产信息。
销售员:可在本系统内查看用户信息、预定信息、已售房产信息、待售房产信息。
管理员:可查看销售人员信息,对销售人员信息进行修改;可查看用户信息,以及对用户信息的修改;预定信息的查询和修改;待售房产信息的查询和修改;已售房产信息的查询修改;总房产表的信息查询和修改。
(1)一个用户只能拥有一个账号。
(2)一个用户可拥有多个房产。
(3)一个用户可预定多个房产。
1、功能需求
<1>用户注册:申请自己的账号,设置自己用户密码、名字、性别、联系方式、和地址,注册成功后便可登录系统。
<2>预定功能:用户可通过系统中的预定功能,定自己心仪的房产。
<3>查询功能:
(1)可通过查询用户账号和用户姓名来查询用户信息
(2)用户可通过查询合同号和房产名来查看预定信息、房产信息、和
购房产信息;用户可通过查询销售人员姓名和销售人员账号来查询销售人员信息。
(3)销售员可通过查询用户姓名或用户账号来查询用户信息;销售员
通过合同号和房号来查询已售房产信息和待售房产信息。
(4)管理员可通过查询合同号和房号来查询待售房产信息、已售房产信息和总房产信息;管理员可通过查询销售人员姓名和销售人员账号来查询销售人员信息;
<4>购买功能:用户根据预定的房产支付房款来购买房产。
<5>修改功能:管理员可在系统中对销售人员信息、用户信息进行修改
2、数据流图
顶层图
3、数据字典(部分)
数据字典是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。数据字典在数据库设计这两个占有很重要的地位。数据项包括数据项、数据结构、数据流、数据存储和处理过程5个部分。
下面列出本系统中的数据项、数据流、数据存储、加工处理和数据结构的数据字典。数据字典可采用图表格式或较紧凑的记录格式描述,本文采用的是图表格式(列出部分)
三、概念设计
数据库的设计是指对一个给定的应用环境,构造数据库模式,建立数据库及其应用系统,满足各种用户需求。作为信息资源开发、管理和服务的一种有效的手段,数据库技术的应用已越来越广泛,从小型的单项事务处理系统到大型的信息系统大都用先进的数据库技术来保持系统数据的安全性、完整性和共享性。对一个实际的系统来说,数据库表的设计在遵循数据库理论的同时,必须能用开发工具来实现用户在各方面提出的功能要求。
-
全局ER图
在系统的数据库设计中,先要对系统分析得到的数据字典中的数据存储进行分析,分析各数据存储之间的关系,然后才能得出系统的关系模式。可以采用E-R图的方法来进行数据结构分析,E-R设计方法是一种通过E-R图来描述现实世界信息结构的DB设计方法。E-R图由实体、属性、联系三部分组成。
2、局部E-R图(部分)
用户购买房产E-R图模块
用户预定E-R图模块
销售员售卖E-R图模块
四、逻辑结构设计
1、E-R图对应的关系模式
将上述的E-R图转化为选用DBMS产品支持的数据模型相符的逻辑结构:
销售员表(销售员账号(主键), 销售员密码,性别,姓名,联系电话,联系地址)
管理员表(管理员账号(主键),管理员密码)
房产信息表(房产编号(主键),房号,房产名,房产面积,房产位置,户型,房产类型,价格,房产状态)
用户表(用户账号(主键),用户密码,用户姓名,性别,联系电话,联系地址)
已售房产信息表(合同号(主键),房号(外键),客户账号(外键),销售员账号(外键))
预定信息表(销售员账号(外键),用户账号(外键),房号(外键),预定时间,定金)
2、关系模式分析
在上述关系模式中,每一个分量都是不可分割的数据项所以都符合第一范式;而且前面的关系模式都是单个属性作为码,没有任何非主属性对码部分函数依赖,不存在非主性对码的部分函数依赖,所以上都符合第二范式;而且上述各个关系模式中个关系模式中都不存在非主属性对码的传递函数依赖,都属于第三范式。
五、数据库设计(部分)
1、房产信息表
CREATE TABLE [dbo].[房产信息表](
[房产名] [nchar](10) NOT NULL,
[房号] [nchar](10) NOT NULL,
[房产面积] [decimal](18, 0) NOT NULL,
[房产位置] [nchar](50) NOT NULL,
[户型] [nchar](20) NOT NULL,
[房产类型] [nchar](10) NOT NULL,
[价格] [decimal](18, 0) NOT NULL,
[房产状态] [nchar](10) NOT NULL,
[合同号] [nchar](10) NULL,
[房产编号] [nchar](10) NOT NULL,
CONSTRAINT [PK_房产信息表] PRIMARY KEY CLUSTERED
(
[房产编号] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
2、用户信息表
CREATE TABLE [dbo].[用户](
[账号] [nchar](10) NOT NULL,
[密码] [nchar](10) NOT NULL,
[姓名] [nchar](10) NOT NULL,
[性别] [nchar](10) NOT NULL,
[联系电话] [nchar](10) NOT NULL,
[联系地址] [nchar](10) NOT NULL,
CONSTRAINT [PK_用户] PRIMARY KEY CLUSTERED
(
[账号] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[用户] WITH CHECK ADD CONSTRAINT [CK_用户] CHECK (([性别]='男' OR [性别]='女'))
GO
ALTER TABLE [dbo].[用户] CHECK CONSTRAINT [CK_用户]
GO
3、销售员表
CREATE TABLE [dbo].[销售员](
[账号] [nchar](10) NOT NULL,
[密码] [nchar](10) NOT NULL,
[姓名] [nchar](10) NOT NULL,
[性别] [nchar](10) NOT NULL,
[联系电话] [nchar](10) NOT NULL,
[联系地址] [nchar](10) NOT NULL,
CONSTRAINT [PK_销售员] PRIMARY KEY CLUSTERED
(
[账号] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[销售员] WITH CHECK ADD CONSTRAINT [CK_销售员] CHECK (([性别]='男' OR [性别]='女'))
GO
ALTER TABLE [dbo].[销售员] CHECK CONSTRAINT [CK_销售员]
GO
4、预订信息表
CREATE TABLE [dbo].[预定信息表](
[销售员账号] [nchar](10) NOT NULL,
[客户账号] [nchar](10) NOT NULL,
[房产编号] [nchar](10) NOT NULL,
[预定时间] [datetime] NOT NULL,
[定金] [decimal](18, 0) NOT NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[预定信息表] WITH CHECK ADD CONSTRAINT [FK_预定信息表_房产信息表] FOREIGN KEY([房产编号])
REFERENCES [dbo].[房产信息表] ([房产编号])
GO
ALTER TABLE [dbo].[预定信息表] CHECK CONSTRAINT [FK_预定信息表_房产信息表]
GO
ALTER TABLE [dbo].[预定信息表] WITH CHECK ADD CONSTRAINT [FK_预定信息表_销售员] FOREIGN KEY([销售员账号])
REFERENCES [dbo].[销售员] ([账号])
GO
ALTER TABLE [dbo].[预定信息表] CHECK CONSTRAINT [FK_预定信息表_销售员]
GO
ALTER TABLE [dbo].[预定信息表] WITH CHECK ADD CONSTRAINT [FK_预定信息表_用户] FOREIGN KEY([客户账号])
REFERENCES [dbo].[用户] ([账号])
GO
ALTER TABLE [dbo].[预定信息表] CHECK CONSTRAINT [FK_预定信息表_用户]
GO
六、代码实现(部分)
1、连接数据库代码
SqlConnection sc;
public SqlConnection connect()
string str = @"Data Source=LAPTOP-MFEKFBMR;Initial Catalog=111;Integrated Security=True";
sc = new SqlConnection(str);
sc.Open();
return sc;
2、用户登录代码
private void button1_Click(object sender, EventArgs e)
if (textBox1.Text != "" && textBox2.Text != "")
if (radioButton1.Checked == true)//用户登录
Dao dao = new Dao();
string sql = $"select * from 用户 where 账号 = 'textBox1.Text' and 密码 = ' textBox2.Text '";
IDataReader dc = dao.read(sql);
if (dc.Read())
data.UID =textBox1.Text;
MessageBox.Show("登录成功");
用户界面 user = new 用户界面(data.UID, data.UName);
this.Hide();
user.ShowDialog();
this.Show();
else
MessageBox.Show("登录失败");
dao.DaoClose();
if (radioButton3.Checked == true)//销售员登录
Dao dao = new Dao();
string sql = $"select * from 销售员 where 账号 = 'textBox1.Text' and 密码 = ' textBox2.Text '";
IDataReader dc = dao.read(sql);
if (dc.Read())
data.UID = textBox1.Text;
MessageBox.Show("登录成功");
销售员界面 user1 = new 销售员界面();
this.Hide();
user1.ShowDialog();
this.Show();
else
MessageBox.Show("登录失败");
dao.DaoClose();
if (radioButton2.Checked == true)//管理员登录
Dao dao = new Dao();
string sql = $"select * from 管理员 where 账号 = 'textBox1.Text' and 密码 = ' textBox2.Text '";
IDataReader dc = dao.read(sql);
if (dc.Read())
MessageBox.Show("登录成功");
管理员界面 user2 = new 管理员界面();
this.Hide();
user2.ShowDialog();
this.Show();
else
MessageBox.Show("登录失败");
dao.DaoClose();
七、软件界面(部分)
1、登录界面
2、销售员界面
3、房产界面
—————————————————————————————————
此处省略几千字
—————————————————————————————————
八、资源下载
对应完整的论文+源程序+数据库下载:https://download.csdn.net/download/frank2102/42330058
以上是关于数据库课程设计C#+SQL实现楼盘销售管理系统 大作业源代码+数据库+论文+使用说明的主要内容,如果未能解决你的问题,请参考以下文章