中国石油大学数据库课程设计.docx
《中国石油大学数据库课程设计.docx》由会员分享,可在线阅读,更多相关《中国石油大学数据库课程设计.docx(18页珍藏版)》请在冰点文库上搜索。
中国石油大学数据库课程设计
中国石油大学(北京)远程教育学院
期末考试
《数据库课程设计》
学习中心:
姓名:
学号:
_
关于课程考试违规作弊的说明
1、提交文件中涉嫌抄袭内容(包括抄袭网上、书籍、报刊杂志及其他已有论文),带有明显外校标记,不符合学院要求或学生本人情况,或存在查明出处的内容或其他可疑字样者,判为抄袭,成绩为“0”。
2、两人或两人以上答题内容或用语有50%以上相同者判为雷同,成绩为“0”。
3、所提交试卷或材料没有对老师题目进行作答或提交内容与该课程要求完全
不相干者,认定为“白卷”或“错卷”,成绩为“0”。
一、备注:
提交一份数据库应用系统的设计报告,报告内容参见第二章数据库设计中的范例——汽车修理厂信息管理系统
内容要求如下:
1.从应用系统选题中选择一个管理系统;(应用系统选题从以下20题里任选一题)
2.概念模型设计(要求用E-R图画出概念模型)
⑴确定实体及其主码、属性;
⑵确定类型的类型及其属性;
3.逻辑结构设计
⑴定义数据库中表的所有属性及其类型、宽度;
⑵定义关系模式及其主码、外部码;
⑶定义视图,说明每个视图的作用;
4.行为设计
⑴说明查询文件的作用;
⑵说明表单文件的作用;
⑶说明报表文件的作用;
二、题目
11、房屋中介公司售房信息系统
数据库主要包括如下内容:
现有房源情况、买卖房屋者的基本情况、交易情况等。
该系统需实现三个主要功能:
各种信息的维护、各种信息的查询、各种信息的统计。
、概念模型设计
1)合并各分E-R图,消除属性冲突、命名冲突、结构冲突等三类冲突,得到初步E-R图,再消除不必要冗余,得到的基本E-R图如下所示:
(2)各E-R图各实体的属性如下所示:
房源:
房源(编号,城区,环境,付款,来源,委托,产权,状态)客源:
客源(客户编号,客户姓名,客户电话,电子邮箱,客户地址,具体位置,产权性质,最低购价,最高购价,最小面积,最大面积,委托日期,截止日期,录入人员,当前状态)
职员:
职员(职员编号,姓名,性别,身份证号,学历,职务,所在部门,出生日期,联系电话,联系电话,家庭住址,电子邮箱,备注,简历)
各E-R图中联系的属性如下所示:
销售信息:
销售信息(售房编号,编号,具体位置,配套环境,房,厅,土地性质,产权性质,价格,产权名称,产权编号,业主姓名,业主电话,联系人,联系电话,委托日期,截止日期,录入人员,当前状态,备注)二、逻辑结构设计
关系模式房源信息,客源信息不存在非主属性对主属性的部分函数依赖,也不存在传递函数依赖,已经达到了3NF,但是购房信息,租房信息中存在着一些数据冗余。
(一)数据库模式定义
表2.1房源信息表
编号
Varchar
notnull
房屋编号
城区
Nvarchar
notnull
房屋所在城区
环境
Nvarchar
房屋所在的环境
付款
Nchar
房屋付款
来源
Nvarchar
房屋来源
委托
Nchar
Notnull
房屋委托
产权
Nchar
Notnull
房屋产权
状态
Nchar
Notnull
房屋状态
表2.2客源信息表
列名
数据类型
可否为空
说明
客户编号
Char
notnull
客户编号
客户姓名
Nvarchar
notnull
客户姓名
客户电话
Char
客户电话
电子邮箱
Char
客户邮箱
客户地址
Nvarchar
客户地址
具体位置
Nvarchar
具体位置
产权性质
Nvarchar
产权性质
最低购价
Money
最低购价
最高购价
Money
最高购价
最小面积
Int
最小面积
最大面积
Int
最大面积
委托日期
Datetime
委托日期
截止日期
Datetime
截止日期
录入人员
Nvarchar
录入人员
当前状态
Nchar
Notnull
当前状态
表2.3职员信息表
列名
数据类型
可否为空
说明
职员编号
Char
notnull
职员编号
姓名
Nvarchar
职员姓名
性别
Char
Notnull
职员性别
身份证号
Char
notnull
职员身份证号
学历
Nchar
职员学历
职务
Nvarchar
职员职务
所在部门
Nvarchar
职员所在部门
出生日期
Datetime
职员出生日期
联系电话
Char
职员联系电话
家庭住址
Nvarchar
职员家庭住址
电子邮箱
Nvarchar
职员电子邮箱
备注
Nvarchar
职员备注
简历
Nvarchar
职员简历
表2.4操作员信息表
列名
数据类型
可否为空
说明
账号
Char
notnull
账号
密码
varchar
notnull
密码
表2.5售房信息表
列名
数据类型
可否为空
说明
售房编号
Char
notnull
售房编号
编号
Varchar
notnull
编号
具体位置
Nvarchar
具体位置
配套环境
Nvarchar
配套环境
房
Int
房间
厅
Int
客厅
土地性质
Nvarchar
土地性质
产权性质
Nvarchar
产权性质
价格
Money
价格
产权名称
Nvarchar
产权名称
产权编号
Char
产权编号
业主姓名
Nchar
Notnull
业主姓名
业主电话
Char
业主电弧
委托日期
Datetime
委托日期
截止日期
Datetime
截止日期
录入人员
Nvarchar
录入人员
当前状态
Char
当前状态
备注
Nvarchar
备注
表2.6租房信息表
列名
数据类型
可否为空
说明
租房编号
Char
notnull
租房编号
编号
Char
notnull
编号
具体位置
Nvarchar
具体位置
配套环境
Nvarchar
配套环境
房
Int
房间
厅
Int
客厅
出租价格
Money
出租价格
出租底价
Money
出租底价
业主姓名
Nvarchar
业主姓名
业主电话
Char
业主电话
联系人
Nchar
联系人
联系电话
Char
联系电话
委托日期
Datetime
委托日期
截止日期
Datetime
截止日期
录入人员
Nvarchar
录入人员
当前状态
Char
Notnull
当前状态
备注
Nvarchar
备注
二)用户子模式定义
表2.7用户子模式定义
编号
用户子模式
(View)
作用(共性:
提供数据保密和安全保护机
制)
V-1
可售房源视图
便于查询可售房源
V-2
可租房源视图
便于查询可租房源
V-3
各房态统计视图
便于查看所有房屋的状态
V-4
已售房统计视图
便于查看已售房屋信息
V-5
已租房统计视图
便于查看已租房屋信息
V-6
待售房统计视图
便于查看待售房屋信息
V-7
待租房统计视图
便于查看待租房屋信息
V-8
求购客源视图
便于查看客源信息
表2.8可售房源视图
列名
数据类型
可否为空
说明
编号
Char
notnull
房屋编号
具体位置
Nvarchar
具体位置
配套环境
Nvarchar
配套环境
房
Int
房间
厅
Int
客厅
产权性质
Nvarchar
产权性质
价格
Money
价格
权证名称
Nvarchar
权证名称
权证编号
Char
权证编号
业主姓名
Nvarchar
Notnull
业主姓名
业主电话
Char
业主电弧
联系人
Nchar
联系人
联系电话
Char
联系电话
委托日期
Datetime
委托日期
截止日期
Datetime
截止日期
录入人员
Nvarchar
录入人员
当前状态
Char
当前装他
表2.9可租房源视图
列名
数据类型
可否为空
说明
编号
Char
notnull
编号
具体位置
Nvarchar
具体位置
配套环境
Nvarchar
配套环境
房
Int
房间
厅
Int
客厅
出租价格
Money
出租价格
出租底价
Money
出租底价
业主姓名
Nvarchar
业主姓名
业主电话
Char
业主电话
联系人
Nvarchar
联系人
联系电话
Char
联系电话
委托日期
Datetime
委托日期
截止日期
Datetime
截止日期
录入人员
Nvarchar
录入人员
当前状态
Char
当前状态
表2.10各房态统计视图
列名
数据类型
可否为空
说明
待售房数
Int
待售房数
已售房数
Int
已售房数
待租房数
Int
待租房数
已租房数
Int
、
已租房数
表2.11已售房统计视图
列名
数据类型
可否为空
说明
编号
Char
notnull
编号
已售房数
Int
已售房数
表2.12已租房统计视图
列名
数据类型
可否为空
说明
编号
Char
notnull
编号
已租房数
Int
已租房数
表2.13待售房统计视图
列名
数据类型
可否为空
说明
编号
Char
notnull
编号
待售房数
Int
待售房数
表2.14待租房统计视图
列名
数据类型
可否为空
说明
编号
Char
notnull
编号
待租房数
Int
待租房数
表2.15求购客源视图
列名
数据类型
可否为空
说明
客户编号
Char
notnull
客户编号
客户姓名
Nvarchar
客户姓名
客户电话
Char
客户电话
电子邮箱
Nvarchar
电子邮箱
客户地址
Nvarchar
客户地址
具体位置
Nvarchar
具体位置
产权性质
Nvarchar
产权性质
最低购价
Money
最低购价
最高购价
Money
最高购价
最小面积
Char
最小面颊
最大面积
Char
最大面积
委托日期
Datetime
委托日期
截止日期
Datetime
截止日期
录入人员
Nvarchar
录入人员
三、行为设计
(一)建立数据库、数据表、视图、索引
1、建立数据库
CREATEDATABASE[房屋中介管理系统]ON(NAME=N'房屋中介管理系统_data',FILENAME=房屋中介管理系统房屋中介管理系统_data.mdf',SIZE=2,MAXSIZE=50,FILEGROWTH=10%)LOGON(NAME=N'房屋中介管理系统_data_log',FILENAME=房屋中介管理系统房屋中介管理系统_data_log.ldf',SIZE=2,MAXSIZE=50,FILEGROWTH=10%)
COLLATEChinese_PRC_CI_AS
GO
2、建立数据表
(1)房源信息表的建立:
CREATETABLE[dbo].[房源信息表](
[编号][varchar](4)COLLATEChinese_PRC_CI_ASNOTNULL,[城区][nvarchar](35)COLLATEChinese_PRC_CI_ASNOTNULL,[环境][nvarchar](20)COLLATEChinese_PRC_CI_ASNULL,[付款][nchar](10)COLLATEChinese_PRC_CI_ASNULL,[来源][nvarchar](32)COLLATEChinese_PRC_CI_ASNULL,[委托][nchar](20)COLLATEChinese_PRC_CI_ASNOTNULL,[产权][nchar](15)COLLATEChinese_PRC_CI_ASNOTNULL,[状态][nchar](5)COLLATEChinese_PRC_CI_ASNOTNULL
)ON[PRIMARY]
GO
(2)客源信息表的建立:
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[客源信息表]')andOBJECTPROPERTY(id,N'IsUserTable')=1)
droptable[dbo].[客源信息表]
GO
CREATETABLE[dbo].[客源信息表](
[客户编号][char](6)COLLATEChinese_PRC_CI_ASNOTNULL,[客户姓名][nvarchar](10)COLLATEChinese_PRC_CI_ASNULL,[客户电话][char](12)COLLATEChinese_PRC_CI_ASNULL,
[电子邮箱][char](25)COLLATEChinese_PRC_CI_ASNULL,[客户地址][nvarchar](30)COLLATEChinese_PRC_CI_ASNULL,[具体位置][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL,[产权性质][nvarchar](15)COLLATEChinese_PRC_CI_ASNULL,[最低购价][money]NULL,
[最高购价][money]NULL,
[最小面积][int]NULL,
[最大面积][int]NULL,
[委托日期][datetime]NULL,
[截止日期][datetime]NULL,
[录入人员][nvarchar](6)COLLATEChinese_PRC_CI_ASNULL,[当前状态][nchar]
(2)COLLATEChinese_PRC_CI_ASNOTNULL
)ON[PRIMARY]
GO
(3)职员信息表的建立:
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[FK__操作员信息表__账号__681373AD]')andOBJECTPROPERTY(id,N'IsForeignKey')=1)
ALTERTABLE[dbo].[操作员信息表]DROPCONSTRAINTFK__操作员信息表__账号__681373AD
GO
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[职员信息表]')andOBJECTPROPERTY(id,N'IsUserTable')=1)
droptable[dbo].[职员信息表]
GO
CREATETABLE[dbo].[职员信息表](
[职员编号][char](3)COLLATEChinese_PRC_CI_ASNOTNULL,[姓名][nvarchar](5)COLLATEChinese_PRC_CI_ASNULL,
[性别][char]
(2)COLLATEChinese_PRC_CI_ASNULL,[身份证号][char](18)COLLATEChinese_PRC_CI_ASNOTNULL,
[学历][nchar](6)COLLATEChinese_PRC_CI_ASNULL,
[职务][nvarchar](15)COLLATEChinese_PRC_CI_ASNULL,[所在部门][nvarchar](20)COLLATEChinese_PRC_CI_ASNULL,
[出生日期][datetime]NULL,
[联系电话][char](12)COLLATEChinese_PRC_CI_ASNULL,[家庭住址][nvarchar](25)COLLATEChinese_PRC_CI_ASNULL,[电子邮箱][nvarchar](20)COLLATEChinese_PRC_CI_ASNULL,[备注][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL,
[简历][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL
)ON[PRIMARY]
GO
(4)售房信息表的建立:
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[售房信息表]')andOBJECTPROPERTY(id,N'IsUserTable')=1)
droptable[dbo].[售房信息表]
GO
CREATETABLE[dbo].[售房信息表](
[售房编号][char](3)COLLATEChinese_PRC_CI_ASNOTNULL,[编号][varchar](4)COLLATEChinese_PRC_CI_ASNOTNULL,[具体位置][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL,[配套环境][nvarchar](20)COLLATEChinese_PRC_CI_ASNULL,[房][int]NULL,
[厅][int]NULL,
[土地性质][nvarchar](12)COLLATEChinese_PRC_CI_ASNULL,[产权性质][nvarchar](15)COLLATEChinese_PRC_CI_ASNULL,[价格][money]NULL,
[权证名称][nvarchar](35)COLLATEChinese_PRC_CI_ASNULL,[权证编号][char](6)COLLATEChinese_PRC_CI_ASNOTNULL,[业主姓名][nchar](6)COLLATEChinese_PRC_CI_ASNULL,[业主电话][char](12)COLLATEChinese_PRC_CI_ASNULL,[联系人][nchar](6)COLLATEChinese_PRC_CI_ASNULL,[联系电话][char](12)COLLATEChinese_PRC_CI_ASNULL,[委托日期][datetime]NULL,
[截止日期][datetime]NULL,[录入人员][nvarchar](6)COLLATEChinese_PRC_CI_ASNULL,[当前状态][nchar]
(2)COLLATEChinese_PRC_CI_ASNOTNULL,[备注][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL
)ON[PRIMARY]
GO
(5)租房信息表的建立:
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[租房信息表]')andOBJECTPROPERTY(id,N'IsUserTable')=1)
droptable[dbo].[租房信息表]
GO
CREATETABLE[dbo].[租房信息表](
[租房编号][char](3)COLLATEChinese_PRC_CI_ASNOTNULL,[编号][varchar](4)COLLATEChinese_PRC_CI_ASNOTNULL,[具体位置][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL,[配套环境][nvarchar](20)COLLATEChinese_PRC_CI_ASNULL,[房][int]NULL,[厅][int]NULL,
[出租价格][money]NULL,
[出租底价][money]NULL,
[业主姓名][nvarchar](6)COLLATEChinese_PRC_CI_ASNULL,[业主电话][char](12)COLLATEChinese_PRC_CI_ASNULL,[联系人][nchar](6)COLLATEChinese_PRC_CI_ASNULL,[联系电话][char](12)COLLATEChinese_PRC_CI_ASNULL,[委托日期][datetime]NULL,
[截止日期][datetime]NULL,
[录入人员][nvarchar](6)COLLATEChinese_PRC_CI_ASNULL,[当前状态][nchar]
(2)COLLATEChinese_PRC_CI_ASNOTNULL,[备注][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL
)ON[PRIMARY]
GO
(6)操作员信息表的建立:
ifexists(select*fromdbo.syso