房地产数据库管理开发设计.doc_第1页
房地产数据库管理开发设计.doc_第2页
房地产数据库管理开发设计.doc_第3页
房地产数据库管理开发设计.doc_第4页
房地产数据库管理开发设计.doc_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

浙 江 树 人 大 学信息科技学院数据库开发技术实习报告课题: 房地产管理系统设计 班级: 计算机091 学号: 200905015127姓名: 王滨 2011.10目录1.1概述41.2系统目标和建设原则41.3运行环境规划41.4需求分析41.4.1 系统功能需求51.4.2 系统的数据需求51.5系统分析51.6.数据字典9第二章 概念结构设计112.1.局部Er图112.1.1房地产开发商Er图112.1.2楼盘信息Er图112.1.3开发信息Er图122.1.4房产商信息与楼盘信息Er图132.1.5楼房信息Er图132.1.6.楼盘与楼房ER图132.1.7房屋信息Er图142.1.8 楼房与房屋Er图142.1.9销售人员信息Er图142.1.10销售信息Er图152.1.11销售人员与房屋的Er图152.1.12客户信息Er图152.1.13订购信息Er图162.1.14订购信息与房屋信息Er图172.2房地产售楼全局Er图17第三章 逻辑结构设计183.1 关系模式的建立183.1.1开发商与楼盘关系模型转换183.1.2楼盘与楼房关系模型转换183.1.3楼房与房屋关系转化193.1.4销售员与房屋关系转化193.1.5客户与房屋关系转化193.2 数据模型的优化20第四章 物理结构设计214.1物理结构设计214.2建立数据库表与索引21第五章 数据库完整性、安全性设计265.1 什么是数据库完整性:265.1.1实体完整性265.1.2域完整性265.1.3参照完整性265.1.4用户定义完整性265.2约束的描述265.2.1约束类型265.2.2创建约束的作用265.2.3创建约束的代码275.3对于默认的要求285.3.1默认作用285.3.2默认的绑定对象及代码实现:285.4对于规则的要求285.4.1规则的作用285.4.2创建规则的绑定对象及代码285.5存储过程295.5.1存储过程的作用295.5.2创建存储过程代码295.6触发器的创建295.6.1触发器的作用295.6.2创建触发器过程295.7安全性设计315.7.1登录设计315.7.2数据库用户设计315.7.3各个登录的权限设计315.7.4各个数据库用户的权限设计315.7.5角色管理315.7.6许可管理31第六章 实训总结33第一章 需求分析1.1概述本次课程设计要求完成一个房地产数据库的设计,要实现以下基本要求:1 查询广场:向用户提供查询界面。如输入房产类型(两室一厅)、阳台的方向、房产的价格范围、房产的建筑面积范围、使用面积范围、楼层的范围等条件,系统以表格的形式给出满足条件的房产户型,用户可以查看户型的详细介绍(包括户型图、价格、建筑面积等详细信息)2 房产看台:楼盘介绍、预定情况,也可以添加客户的在线注册和登录,实现在线订单的提交。3 公司管理:楼盘登记、户型登记。由公司提供专门管理员,负责楼盘的输入和管理,处理订单的提交等。1.2系统目标和建设原则该房地产公司数据库要求实现公司管理和客户管理,查询模块三个模块,公司模块管理公司内部信息,客户管理模块管理客户的基本信息和订单管理,查询模块客户和公司销售员都可以查看购房,选房信息。系统主要实现这三个模块的基本功能,最后还要求完成一个基于该数据库的应用程序,实现对该数据库的基本管理和应用。数据库的建设原则是:采用基于三范式的数据库设计方法,考虑数据库安全性和应用程序相当数据库相当独立性。1.3运行环境规划通过各方面的综合考虑,初步决定采用Microsoft SQL Server 2005实现该数据库。完成课程设计说明书,其格式遵守学校今年的新规定。主要内容包括:需求分析,概念设计,逻辑设计,物理实现,数据库完整性和安全性设计。1.4需求分析1) 我们按主要功能区将需求做了划分。具体实现无须严格按该划分组织程序的模块结构。按要求能实时、完整地完成楼盘、房屋信息的检索、汇总、收集、处理和存储。2) 能快速、灵活地以图、文、像等方式录入楼盘、房屋信息,对历史资料等提供一定的信息服务。3) 提供楼盘、房屋信息的多手段查询、汇总、修改、排序、追加等数据库处理功能。4) 向用户提供多种方式的查询服务,系统以表格的形式给出满足条件的房产户型,用户可以查看户型的详细介绍。5) 提供其他的相关服务,如公司简介、楼盘简介以及楼盘预定情况的统计信息等。6) 通过对房地产管理系统的分析,搜集了大量资料,充分考虑到系统需求的可能性,最终分析得两类需求:销售员需求和客户需求。1.4.1 系统功能需求 楼房销售员模块a) 登陆信息:用户管理主要对用户添加、删除客户。b) 楼盘资料管理:主要包括对楼盘楼房房屋信息的添加、修改、删除。c) 销售管理:销售管理包括客户登记、客户查询、房屋销售、销售报表d) 数据管理:主要包括数据的初始化、数据备份。 客户模块a) 登陆信息:用户可以登陆网站,查看相应的购房信息。b) 订购信息:用户可以在网上在线支付订单。 查询模块a) 可以查看选房,购房信息1.4.2 系统的数据需求1) 楼盘数据信息2) 房屋数据信息3) 客户数据信息1.5系统分析i. 组织结构图大多数房地产开发公司通常会和几家公司协调关系,所以绘制了矩阵型组织结构图,以便更加直观地表示物业管理公司的组织结构,如下图表1-1: 图表 1-1ii. 业务流程图用户可以登入网站注册会员,登陆成功后可以按照户型的分类进行查看,或按照自己的需求搜索理想的户型,并查看其详细资料,若不存在正在搜索的户型,系统会进行相应的提示。销售商可以提供自己销售的商品的详细信息,并可以进行修改,以便让用户可以查看商品的信息。当用户确认订购的楼盘后,在付款成功的条件下,销售商发站内信等待会员查收。待会员确定后,交易成功,业务流程图见下图表2-2。 图表 1-2iii. 功能模块图系统的功能模块可主要分为两大模块:客户模块和公司模块。客户可以在线预览房产,包括注册用户,楼盘查询,订单处理,站内信处理等。公司的管理层可以处理站内信,录入房产,订单处理等。查询模块用于查询楼盘。功能模块图如下:图表1-3。 图表 1-3iv. 数据流程图本系统的流程图主要体现系统的功能,整个系统的信息管理和流动主要是房源和用户信息,根据系统的主要功能,系统顶层DFD从大的层次,宏观上反应了系统的数据流向,以下所示的系统数据流层图就是对本系统的数据流层图所作分析,数据的第0层流程图如下图表1-4,数据的第1层流程图如下图表1-5,数据的第2层流程图如下图表1-6。图表 1-4图表 1-5图表 1-61.6.数据字典(1) 数据项的定义数据项名称:业主&客户编号别 名:业主&客户编码简 述:某位业主或客户的代码类型及宽度:字符型,4位取值 范围:“0001”“9999”(2) 数据流的定义数据流名称:基本信息登记表简 述:业主&客户的基本信息等数据流来源:销售部数据流去向:登记处理模块数据流组成:信息单编号+业主&客户名称+日期+收费单位数据 流量:5份/日高峰 流量:20份/日(双休日上午9:00下午5:00)(3) 处理逻辑的定义处理逻辑名称:计算房价简 述:计算应交付的房价输入的数据流:数据流单位面积价格,来源于数据存储文件价格表;数据流住房面积和用户类别,来源于数据存储“业主房屋信息文件”和数据存储“用户文件”。处 理:根据数据流“住房面积”和“用户信息”,检索用户文件,确定该用户房型;再根据已确定的用户房型,检索数据存储单位面积价格表文件,以确定该用户的收费标准,得到单位面积价;用单价和住房建筑面积相乘得该用户应交付的房款。输出的数据流:数据流“应付房款”一是去用户,二是记入数据存储文件。(4) 数据文件条目数据存储名称:房价简 述:存放每套住宅的房屋面积和应付房款数据存储组成:房款交付单编号+住宅位置+单价+建筑面积+备注存取方式:顺序存取频率:每天一次关 健 字:房款交付单编号(5) 外部实体的定义外部实体名称:业主&客户简 述:使用该项目的业主&客户 第二章 概念结构设计概念结构设计是将需求分析得到的用户需求抽象为信息结构即概念模型的过程。房地产数据库概念结构设计应达到以下要求:1、能真实充分地反映防地产商或中介的管理流程,包括客户与楼盘、客户与房屋之间的联系;2、容易理解,从而可以使对数据库不熟悉的操作员也可以使用;3、容易更改,当应用环境或功能需求发生变化时,能方便地对概念模型进行修改和扩充。4、易于用关系数据库实现。描述概念模型的有力工具是E-R图,下面将用E-R图来描述房地产数据库。2.1.局部Er图2.1.1房地产开发商Er图图表 2-1 2.1.2楼盘信息Er图图表 2-2 2.1.3开发信息Er图图表 2-32.1.4房产商信息与楼盘信息Er图图表 2-42.1.5楼房信息Er图 图表 2-52.1.6.楼盘与楼房ER图 图表2-62.1.7房屋信息Er图图表 2-72.1.8 楼房与房屋Er图图表 2-82.1.9销售人员信息Er图图表 2-92.1.10销售信息Er图图表 2-102.1.11销售人员与房屋的Er图图表 2-112.1.12客户信息Er图图表 2-12 2.1.13订购信息Er图 图表 2-132.1.14订购信息与房屋信息Er图图表 2-142.2房地产售楼全局Er图由上述Er图分析可知,房地产公司开发楼盘然后经房产销售公司售楼,而顾客又可以订购房屋,所以全局的Er图如下所示:图表 2-15第三章 逻辑结构设计逻辑结构设计的任务就是把概念设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。本次课程设计中我选用的是Microsoft SQL Server 2005 数据库管理系统,所以,将E-R图转换为关系模型。将E-R图向关系模型转换要解决的问题是如何将房屋和客户的联系转换为关系模式,如何确定关系模式的属性和码。将概念结构设计的E-R图转换为关系模式。其中关系的主码用下横线标出。3.1 关系模式的建立3.1.1开发商与楼盘关系模型转换房产开发商属性有开发商编号,开发商公司名,开发商公司地址,开发商项目负责人,其中主键为:开发商编号楼盘信息属性有楼盘编号,楼盘地址,楼房类型,楼房套数,绿化面积,道路广场,建筑面积,联系电话。其中主键为:楼盘编号。开发商与楼盘两个实体有开发联系,其中开发信息属性有楼盘编号,开发商公司名,竣工日期,其中主键是楼盘编号所以房产商与楼盘1:n关系模式转换为:开发商信息:(开发商编号,开发商公司名,开发商公司地址,开发商项目负责人)楼盘信息(开发商编号,楼盘编号,楼盘地址,楼房类型,楼房套数,绿化面积,道路广场,建筑面积,联系电话,竣工日期)。3.1.2楼盘与楼房关系模型转换楼盘信息属性:楼盘编号,楼盘地址,楼房类型,楼房套数,绿化面积,道路广场,建筑面积,联系电话,其中主键为楼盘编号。楼房属性有楼房编号,楼盘编号,楼盘名称,户型,楼房层数,楼盘地址。其中主键为楼房编号。楼盘与楼房之间的联系为“属于”,且无属性。由于楼盘与楼房1:1关系模式,所以:楼盘属性(楼盘编号,楼盘地址,楼房类型,楼房套数,绿化面积,道路广场,建筑面积,联系电话)楼房属性(楼房编号,楼盘编号,楼盘名称,户型,楼房层数,楼盘地址。其中主键为楼房编号)联系“属于”无属性。3.1.3楼房与房屋关系转化楼房属性有楼房编号,楼盘编号,楼盘名称,户型,楼房层数,楼盘地址。其中主键为楼房编号房屋信息属性有房屋号码,楼房编号,所在楼层,价格,销售面积,阳台面积,分摊面积,其中主键是房屋号码。楼房与房屋之间的联系为“属于”,且无属性。由于楼盘与楼房1:1关系模式,所以:楼房属性(楼房编号,楼盘编号,楼盘名称,户型,楼房层数,楼盘地址)房屋信息属性(房屋号码,楼房编号,所在楼层,价格,销售面积,阳台面积,分摊面积)联系“属于”无属性。3.1.4销售员与房屋关系转化销售员信息属性:编号,姓名,所在部门,电话号码,其中主键为编号。房屋信息属性有房屋号码,楼房编号,所在楼层,价格,销售面积,阳台面积,分摊面积,其中主键是房屋号码。销售员与房屋两个实体有销售联系,其中销售信息属性有房号,客户编号,客户身份证,联系地址,楼盘编号,楼房编号,预交金额,联系电话,购买日期,其中主键为房号所以销售员与房屋1:n关系模式转换为:销售员信(销售员编号,姓名,所在部门,电话号码)房屋信息(销售员编号,房屋号码,楼房编号,所在楼层,价格,销售面积,阳台面积,分摊面积,客户编号,客户身份证,联系地址,楼盘编号,楼房编号,预交金额,联系电话,购买日期)3.1.5客户与房屋关系转化客户信息属性:客户编号,姓名,性别,年龄,职业,身份证号,电话,家庭地址,需求户型,需求楼层,需求面积。其中主键是客户编号。房屋信息属性有房屋号码,楼房编号,所在楼层,价格,销售面积,阳台面积,分摊面积,其中主键是房屋号码。客户与房屋两个实体之间有订购关系,其中订购信息属性客户编号,房屋编号,已交款,主键为客户编号。所以客户与房屋1:n关系模式转换为:客户信息属性:(客户编号,姓名,性别,年龄,职业,身份证号,电话,家庭地址,需求户型,需求楼层,需求面积)房屋信息属性(客户编号,房屋号码,楼房编号,所在楼层,价格,销售面积,阳台面积,分摊面积,已付款)3.2 数据模型的优化 房地产开发商信息房产开发商(开发商编号,开发商公司名,开发商公司地址,开发商项目负责人) 楼盘信息楼盘信息(开发商公司名,楼盘编号,楼盘地址,楼房类型,楼房套数,绿化面积,道路广场,建筑面积,联系电话,竣工日期)。 楼房信息 楼房信息(楼房编号,楼盘编号,楼盘名称,户型,楼房层数,楼盘地址) 房屋信息房屋信息(销售员编号,房屋号码,楼房编号,所在楼层,价格,销售面积,阳台面积,分摊面积,客户编号,客户身份证,联系地址,楼盘编号,楼房编号,预交金额,联系电话,购买日期) 销售员信息销售员信息(编号,姓名,所在部门,电话号码) 客户信息房屋信息属性(客户编号,房屋号码,楼房编号,所在楼层,价格,销售面积,阳台面积,分摊面积,已付款) 开发信息开发信息(楼盘编号,开发商公司名,竣工日期) 销售信息销售信息(房号,客户编号,客户身份证,联系地址,楼盘编号,楼房编号,预交金额,联系电话,购买日期) 订购信息订购信息(客户编号,房屋编号,已交款)第四章 物理结构设计4.1物理结构设计数据库在物理设备上的存储结构存取方法称为数据库的物理结构,它依赖于选定的数据库管理系统(本数据库采用SQL Server 2005 DBMS)。数据库存取方法是快速存取数据库数据的技术,SQL Server 2005 DBMS也提供了多种存取方法,包括如下三种:索引(Index)方法(目前最流行的是B+树索引法)、聚簇(Cluster)方法、HASH方法,本次采用B+树索引方法。索引的优点在于快速查找。为了完成需求分析中确定的基本功能和概念设计中模块的划分,通过基于三范式的数据库设计方法(通过分析,以上各数据表已经达到了三范式),构造了9张基本数据表。现在对这9张数据表划分基本关系。在已设计的数据库中初步建立了9张基本表,用于记录客户模块和公司模块的基本信息。此外,在基本表上定义了一些约束条件和外键信息,以实现数据的完整性约束。包括标内约束条件和表间约束条件.4.2建立数据库表与索引 建立数据库表如下表表名中文名DevelopersInfo开发商PropertyInfo楼盘DevelopingInfo开发信息BuildingInfo楼房HouseInfo房屋SalerInfo销售员SaleInfo销售CustomerInfo客户OrderInfo订购 数据库键名缩写命名规则递增(AKauto asc key)主键(PKprimary key)外键(FKforeign key)唯一键(UKunique key)非空键(NNnot null)检查键(CKcheck)默认值(DFDefault) 开发商信息表DevelopersInfo字段名字段类型长度含义约束备注Dcompanynvarchar50开发商公司名Didint4开发商编号PKAKDaddressnvarchar50开发商公司地址Dmangernvarchar50开发商负责人 为DevelopersInfo建立一个简单的索引,索引名:D_Dcompany: CREATE INDEX D_ Dcompany ON DevelopersInfo (Dcompany); 索引目的:按照开发商负责人查找,提高开发商信息表查询速度。 楼盘信息表PropertyInfo字段名字段类型长度含义约束备注PIdint4楼盘编号PKAKPaddressnvarchar50楼盘地址NNPkindnvarchar50楼房类型Pnumberint4楼房套数Pareaint4绿化面积Proadint4道路广场Pbareaint4建筑面积Pphonevarchar20联系电话 为PropertyInfo建立一个简单的索引:索引名:P_Pkind CREATE INDEX P_Pkind ON PropertyInfo (Pkind); 索引目的:按照楼房类型查找,提高楼盘信息表查询速度。 开发信息: DevelopingInfo字段名字段类型长度含义约束备注PIdInt4楼盘编号PKAKCompanynvarchar50开发商名称datedatetime竣工如期 为DevelopingInfo建立一个简单的索引:索引名:D_Company CREATE INDEX D_Company ON DevelopingInfo (Company); 索引目的:按照开发商名称查找,提高开发信息表查询速度。 楼房信息:BuildingInfo 字段名字段类型长度含义约束备注BidInt4楼房编号PKAKPidInt4楼盘编号PnameNvarchar50楼盘名称BkindNvarchar50户型BcengInt4楼房层数PaddressNvarchar50楼盘地址 为BuildingInfo建立一个简单的索引:索引名:B_Pid CREATE INDEX B_Pid ON BuildingInfo (Pid); 索引目的:按照楼盘编号查找,提高楼房信息表查询速度。 房屋信息:HouseInfo字段名字段类型长度含义约束备注Hidint4房屋号码PKAKBidint4楼房编号Hcengint4所在楼层moneyint4价格Hxsareaint4销售面积Hytareaint4阳台面积Hftareaint4分摊面积 为HouseInfo建立一个简单的索引:索引名:H_Bid CREATE INDEX H_Bid ON HouseInfo (Bid); 索引目的:按照楼房编号查找,提高房屋信息表查询速度。 销售员信息:SalerInfo字段名字段类型长度含义约束备注SidInt4编号PKAKSnamenvachar20姓名Spartnvarchar50所在部门Sphonevarchar15电话号码 为SalerInfo建立一个简单的索引:索引名:S_Sname CREATE INDEX S_Sname ON SalerInfo (Sname); 索引目的:按照销售员类姓名查找,提高销售员信息表查询速度。 销售信息:SaleInfo字段名字段类型长度含义约束备注SCHourseIdInt4房号PKAKSCidint4客户编号SCcardvarchar20客户身份证SCaddressnvarchar50联系地址SCPidint4楼盘编号SCBidint4楼房编号SCmoneyint4预交金额SCphonevarchar20联系电话SCdatetimedatetime购买日期 为SaleInfo建立一个简单的索引:索引名:S_SCid CREATE INDEX S_SCid ON SaleInfo (SCid); 索引目的:按照客户编号查找,提高销售信息表查询速度。 客户信息:CustomerInfo字段名字段类型长度含义约束备注Cidint4客户编号PKAKCnamenvarchar10姓名Csexnchar2性别Cageint4年龄Cjobnvarchar20职业Ccardvarchar20身份证号Ctelephonevarchar12电话Caddressnvarchar50家庭地址Ckindnvarchar50需求户型Ccengint需求楼层Careanvarchar50需求面积 为CustomerInfo建立一个简单的索引:索引名:C_Cname CREATE INDEX C_Cname ON CustomerInfo (Cname); 索引目的:按照客户姓名查找,提高客户信息表查询速度。 4.2订购信息:OrderInfo字段名字段类型长度含义约束备注Cidint4客户编号PKAKHidint4房屋编号Ispaybit4已交款 为OrderInfo建立一个简单的索引:索引名:O_OHid CREATE INDEX O_OHid ON OrderInfo (OHid); 索引目的:按照房屋编号查找,提高订购信息表查询速度。第五章 数据库完整性、安全性设计5.1 什么是数据库完整性:数据完整性就是存储在数据库中的数据的一致性和正确性。根据数据完整性措施所作用的数据库对象和范围不同,数据完整性分为:5.1.1实体完整性 又称为行完整性,即数据库中的所有行都具有一个非空没有重复的值。 5.1.2域完整性又叫列完整性,以保证列数据的输入具有正确的数据类型、格式和有效的数据范围。 5.1.3参照完整性又叫引用完整性,旨在保证主表和从表数据的一致性。5.1.4用户定义完整性用户定义的不属于以上完整性的特定规则。 5.2 约束的描述5.2.1约束类型 CHECK约束 PRIMARY KEY约束 FOREIGN KEY约束 UNIQUE约束 DEFAULT约束5.2.2创建约束的作用 CHECK 约束CHECK约束用于限制输入到一列或多列的值的范围:用户想输入的数据值如果不满足CHECK约束中的条件(逻辑表达式)将无法正常输入。 PRIMARY KEY 约束 通过主键可以强制表的实体完整性。主键不允许空值,且不同两行的键值不能相同,即主键可以唯一标识单个行。 FOREIGN KEY约束通过外键可以建立和强制主表和从表的参照完整性,即从表的外键要么为空,要么等于主表中已存在的主键值。 UNIQUE 约束UNIQUE约束用于确保非主键列的取值的唯一性,保证实体完整性;且每个UNIQUE约束要建立一个唯一索引;一个表可有多个UNIQUE约束;可用于定义允许空值的列。 DEFAULT 约束 若将表中某列定义了DEFAULT约束后,用户在插入新的数据行时,如未指定该列值,系统自动将该列值赋为默认值(默认值可以是空值)。5.2.3创建约束的代码 CHECK 约束使用T-SQL语句创建CHECK约束,为CustomerInfo 表的Csex性别设置名为CK_Customer的Check约束,设置只能是男或者女。alter table CustomerInfoaddconstraint CK_Customer check(Csex=N男 or Csex=N女) PRIMARY KEY约束:使用T-SQL语句创建PRIMARY KEY约束,为表DeveloperInfo的开发商编号(Did)设置名为PK_Did的主键约束。alter table DevelopersInfoaddconstraint PK_Did primary key Clustered(Did) FOREIGN KEY约束使用T-SQL语句创建FOREIGN KEY约束, 楼盘信息表PropertyInfo与楼房信息:BuildingInfo建立名为FK_Pid 的外键约束:alter table BuildingInfoadd constraint FK_Pid foreign key (Pid)references PropertyInfo(Pid)使用T-SQL语句创建FOREIGN KEY约束, 楼房信息表BuildingInfo与房屋信息:HouseInfo建立名为FK_Hid的外键约束。Alter table HouseInfoAdd constraint FK_Hid foreign key(Bid)References BuildingInfo(Bid) UNIQUE约束使用T-SQL语句创建UNIQUE约束,针对客户信息表CustomerInfo的身份证Ccard字段设置名为:UN_Ccard的Unique约束:alter table CustomerInfoadd constraint UN_Ccard unique(Ccard) DEFAULT 约束使用T-SQL语句创建DEFAULT约束,针对OrderInfo表的是否付款Ispay字段设置名为D_Ispay约束,默认为False。create default D_ispayas 0goexec sp_bindefault D_ispay,OrderInfo.Ispay 使用T-SQL语句删除DEFAULT约束 exec sp_unbindefault OrderInfo.Ispaydrop default D_ispay5.3 对于默认的要求5.3.1默认作用默认是一种数据库对象,可以绑定到一列或多列上,作用与DEFAULT约束相似,在插入数据行时,为没有指定数据的列提供事先定义的默认值。5.3.2默认的绑定对象及代码实现: 使用T-SQL语句创建DEFAULT约束,针对OrderInfo表的是否付款Ispay字段设置名为D_Ispay默认名,绑定的对象是OrderInfo.Ispay,并设置默认为False。create default D_ispayas 0goexec sp_bindefault D_ispay,OrderInfo.Ispay 使用T-SQL语句删除默认:exec sp_unbindefault OrderInfo.Ispaydrop default D_ispay5.4 对于规则的要求5.4.1规则的作用规则也是一种数据库对象,可以绑定到一列或多列上,作用与CHECK约束相似,在插入数据行时,指定接受的数据值的范围。5.4.2创建规则的绑定对象及代码使用T-SQL语句创建规则,针对HouseInfo表的楼层数Hceng字段设置名为GZ_Hceng的规则,绑定的对象是HouseInfo.Hceng,并设置其楼层不超过20层。create rule GZ_Hcengas Hceng=0 and Hceng=20goexec sp_bindrule Gz_hceng,HouseInfo.Hceng使用T-SQL语句删除规则exec sp_unbindrule HouseInfo.Hcengdrop rule Gz_hceng5.5 存储过程5.5.1存储过程的作用存储过程的能力大大增强了SQL语言的功能和灵活性。存储过程可以用流控制语句编写,有很强的灵活性,可以完成复杂的判断和较复杂的 运算。5.5.2创建存储过程代码a).使用T-SQL语句创建规则,针对CustomerInfo表的需求户型Ckind字段设置名为Customer_proc1的存储过程。create procedure Customer_proc1asselect * from custominfo where Ckind=N经济房删除存储过程代码:drop procedure customer_proc1b).使用T-SQL语句创建名为P_Del储存过程来实现对楼盘信息表ProprtyInfo和楼房信息BuildingInfo表级联删除,即当用户在ProprtyInfo表中删除记录,也删除BuildingInfo中所有相关记录,过程如下:create procedure P_delp_pid varchar(4)asbegindelete PropertyInfowhere pid=p_piddelete buildingInfowhere pid=p_pidend删除存储过程代码:drop procedure P_del5.6触发器的创建5.6.1触发器的作用触发器可以查询其他表,而且可以包含复杂的 SQL 语句。它们主要用于强制服从复杂的业务规则或要求。例如:您可以根据客户当前的帐户状态,控制是否允许插入新订单,触发器也可用于强制引用完整性,以便在多个表中添加、更新或删除行时,保留在这些表之间所定义的关系。然而,强制引用完整性的最好方法是在相关表中定义主键和外键约束。如果使用数据库关系图,则可以在表之间创建关系以自动创建外键约束。5.6.2创建触发器过程a).建立楼盘信息表ProprtyInfo关于Delete操作的触发器tr_Proprty_delete,来实现正对楼盘信息表ProprtyInfo和楼房信息BuildingInfo表级联删除,即当用户在ProprtyInfo表中删除记录,也删除BuildingInfo中所有相关记录,过程如下:create trigger tr_Proprty_deleteon propertyInfofor deleteasdeclare num varchar(4)select num=pid from Deleteddelete BuildingInfowhere pid=numgo删除触发器:drop trigger tr_Proprty_deleteb).建立楼房信息表BuildingInfo关于Insert操作的触发器tr_Building_insert,来实现正对楼房信息表BuildingInfo和房屋信息BuildingInfo表级联添加,即当用户在BuildingInfo表中添加记录,也添加HouseInfo中所有相关记录,过程如下:create trigger tr_Building_inserton BuildingInfofor insertasdeclare num varchar(4)select num=bid from insertedupdate HouseInfo set bid=numgo删除触发器:drop trigger tr_Building_insertc).建立订购信息表CustomerInfo关于Update操作的触发器tr_Customer_Update,来实现正对客户信息表CustomerInfo和销售信息表SaleInfo表级联修改,即当用户在CustomerInfo表中修改记录,也对SaleInfo中修改相关记录,过程如下:Create Trigger tr_customer_updateOn customerinfo for Update As if Update(Cid) begin Update saleinfo Set Cid=i.Cid From saleinfo ci , Deleted d ,Inserted i Where ci.Cid=d.Cid end 删除触发器:drop trigger tr_customer_update5.7安全性设计5.7.1登录设计Sql Server 2005中有两类登陆账号:Windows登陆账号和Sql Sercer登陆账号。Windows登陆账号是由Windows服务器负责验证用户身份的身份验证方式,由Windows账号或用户组控制对SQL Sevrve 系统访问。SQL Server 登陆账号是SQL Server 2005 自身负责验证身份的登陆账号。5.7.2数据库用户设计指定用户用Windows登陆账号和Sql Sercer登陆账号5.7.3各个登录的权限设计为用户Eyes创建一个SQL Server 并指定登陆密码为eyes123以及名为200905015127的默认数据库;exec sp_addlogin Eyes,eyes123,2009050151275.7.4各个数据库用户的权限设计使用T-SQL语句添加数据库用户:在当前数据库中为SQL 账号:Eyes添加数据库用户,并取名为User_Loginexec sp_grantdbaccess Eyes ,user_login5.7.5角色管理为数据库添加名为manager的角色:exec sp_addrole Mana

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论