数据库实务实验报告酒店前台管理系统_第1页
数据库实务实验报告酒店前台管理系统_第2页
数据库实务实验报告酒店前台管理系统_第3页
数据库实务实验报告酒店前台管理系统_第4页
数据库实务实验报告酒店前台管理系统_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

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

文档简介

学号姓名(文波)评语(要求):按时完成实验;实验内容和过程记录完整;回答问题完整、正确;实验报告的撰写认真、格式符合要求。建立数据库和表。实验项目:各小组自选的项目。通过调查、收集信息、分析,写出分析与设计报告。包括业务分析、功能需求分析、信息需求分析。试分析该系统的基本业务,计算机信息系统需要完成的基本功能、信息系统需要处理的信息。设计系统的概念模型,采用ER模型。将ER模型为关系模型,指出每个关系的主键、外键和必要的约束。包括存储组织结构、表的结构设计等。利用SQL命令创建数据库文件、表、索引、联系和主键、外键等约束。6.利用T-SQL命令增加、删除、修改数据。根据自己设计的数据库和输入的数据,写出至少10个查询要求及对应的SQL查询命令,应该包含如下功能:投影和选择;多表连接;子查询;查询结果保存。根据开发的系统的需要,至少设计三个视图:基于单表的、包含多表连接的、包含统计运算的。利用SQL对视图进行查询。9.对视图进行插入、删除、修改数据操作。体会视图与表的异同。写出源代码。(2)编写一个自定义函数,能够实现参数化查询的功能。11.编写利用游标进行数据处理的存储过程。并12.编写一个实现修改表的触发器,实现完整性13.设置服务器身份验证模式。用命令创建若干不同验证模式的登录14.将部分登录赋予服务器角色。然后15.将部分登录映射到你的数据库中成为18.直接给用户授权,验证其获得权限前后的操作需求分析就是根据用户或者客户的需要来设计数据库。只有根据需求设计出的数据库才是有用的,否则整个设计过程都是在做无用功。并且在需求设计中根据具体需要设计出模型,后面的具体实现过程遵照前面设计的模型来得后面的工作能够更加具有效率。在需求分析中要严格遵守客户的需求,据需求找出最合适的方案,为后面的具体实现打下基础。需求分析是整个的第一个阶段,也是最重要的一步。主键是关系中能唯一区分、确定不同元组的单个属性或者属性组合。外键能够保证数据库的数据的完整性和一致性,通过外键,能够将相互关联的表联系起来。需要综合考虑存取时间、存储空间利用率和维护代价三方面的因素。数据类型的选择首先要根据该属性的性质进行选择,如数值型,日期型等等。在确定基本类型之后,要考虑数据存取时间、取值范围、处理效率多方面的因素,选取合适的数据类型,这主要是在数值类型上的选择。交互式:单击工具栏上的“关系”按钮,打开“外键关系”对话框,在其中设置各表间关系。利用FOREIGNKEYREFERENCESreferenced_table_name(re有何影响?试举例说明。主键和外键一般不允许为空,如果没有输入值的话会报错。字段如果开发人员已经约束了其值只能为“男”或者“女”,当使用者值之外的任何值都会报错。如果数据与字段数量和要求不一致,只有在少于并且没有写出的那个已定义了默认值或者可为空的情况下才为正确,其他情况均是错误的。当表定义中有默认值的时候,插入记录可以省略该字段的数据。HAVING子句和WHERE语句一样都是实现查询功能中条件的控制和数据的选择,WHERE子句不能包含聚集函数,而HAVING子句一般包含聚集函数。HAVING子句还可以用来对分组结果进行筛选。为它们中任意一个。对由多表连接成的视图修改数据时,不能同时影响一个以上的基表,也不能删对具有NOTNULL的列进行修改时可能会出错。通过视图修改或者插入数据时,必须保证未显示的具有NOTNULL属性的列有值,可以是默认值,IDENTITY等如果某些列因为规则或者约束的限制不能接受从视图插入的数据时,则插入数视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。视图中看到的就是需要的。视图不仅可以简化用户对数据的理解,也可以简化他们的操作。那些被经常使用的查询可以被定义为视图,从而使得用户不的操作每次指定全部的条件。视图还保证了数据的安全性。通过视图用户只能查询和修改他们所能见到的数据。数据库中的其它数据则既看不见也取不到。数据库授权命令可以使每数据库的检索限制到特定的数据库对象上,但不能授权到数据库特定行和上。视图是一个虚拟表,是以脚本的形式存在于数据库中,即其中数据仍然是原来表的数据。视图中的数据任然是表中的数据,并不真的存储在文件中。14.SQLSERVER有几种身份验证模式?区别是什么?不同验证模式的登录账身份验证的Windows用户可以访问SQL实例。对于每个需要访问SQL实例的系统的用户需要访问SQLServer改。Sa登录时无法删除的。户都属于public服务器角色。据库用户则是数据库级的安全性设置。登录账户用于登录服务器,但是当要访问某个数据库时,除了可以成为服务器的一个登录以外,还必须成为库的用户账户,即获得一定的授权。数据库用户账号在一般情况下是从某户中映射过来的。数据库角色分为固定的数据库角色和用户定义数据库角色。每个数据库都有一系列固定数据库角色。虽然每个数据库中都存在名用域只是在特定的数据库内。用户定义数据库角色PUBLIC角色的特点:默认不具有任何权限,但用户可对此角色进行授权,他不能被删除,是所有user自动拥有的角色。数据库中的每个用户都属于public数据库角色。如果想让数据库中的每个用户都能有某个特定的权限,则将该权限指派给public角色。如果没有给用户专门授予对某个对象的权限,他们就使用指派给public角色的权限。可以将架构视为对象的容器。每个数据库用户都是与该用户同名架构的所有一个文件只能存放于一个文件夹中一样。与文件夹不同的是,架构是不能嵌套的。象范围有服务器、端点和架构。为指定数据库用户授予table的权利,然后在下面的权限中选择selec自定义函数:接受参数、执行操作并且将运算自定义函数有且只有一个返回值,就像普通的函数一样调用。存储过程:是一个可重用的代码模块,可以高效率地完成指定的过程可以没有返回值,也可以有任意个输出参数,必须单独调用。性和完整性,可以自动执行某段程序保证相关联其他数据也跟着进行相应的变化。能完成这种功能的程序就是触发器,它是一种特殊类型的存储过程。触发特殊类型的存储过程,但是不能直接被调用执行,只能自动执行,在对特作特定类型的数据修改时执行。游标是一种处理数据的方法,它可以对结果集进行逐行处理,也果集中的任意位置,并对该位置的数据进行处理。应用游标的步骤:声明游标——打开游标——读取游标放游标。首先第18个关于验证授权前后用户操作的差面也没有用到事务,感觉自己在游标、自定义编程、存储过程等方面的基较为薄弱。理系统真的很复杂,还包括财务管理、仓库管理、员工管理等方面,最后商量决定只做客房及顾客信息管理等的内容,实现的功能也相对较少。相步一步的学习,我们的能力也会进一步的提升,努力作出比较完善的信息系统。息;酒店前台身份验证ww否是否是是否有空登记、修改取消预定操作取消预定操作查询住房信息及要登记入住信息,修改相关信息确认预定信息及入住房间修改客户及客信息查询信息查询授予该工作人员一定的操作权限,只能进行权限范围内的操作。客户的信息。的预定信息。记客房和客户的各项信息,如果没有,则入住失败。各项信息以及客户的退房时间及入住天数。·客户信息查询:需要处理客户的信息,根据·客房信息查询:需要处理客房的信息,根据付款时间付款时间客户地址客户地址mmmmnn 信息查询信息查询付款时间客户地址客户地址ClientCertific取消预定信息查询取消预定信息查询存储组织结构:数据库是依照某种数据模型组织起来并存放二级存储器中的数据集合。展起来的。数据库的基本结构分三个层次,反映了观察数据库的三种不同角度。(1)物成。(2)概念数据层。它是数据库的中间一层,是数据库的整体逻辑表示。指出了每个象的逻辑关系,而不是它们的物理情况,是数据库管理员概念下的数据库。(3)逻辑数据层。它是用户所看到和使用的数据库,表示了一个或一些特定用户使用的数据集合,即逻辑记录的集合。数据库不同层次之间的联系是通过映射进行转换的。表的结构设计:客户姓名(ClientName)varchar(3身份证号ClientCertificateID联系电话(ClientPhone)varchar(12)住址(ClientAdress)varchar(5备注(ClientRemarks)va房间备注(RoomRemarksvar类型名称(TypeName)varchar(1价格(Price)money非空状态名(RoomStatus)varchar利用SQL命令创建数据库文件、表、索引、联系和主键、外键等约束。primaryfilename='H:\数据库事务实验\马冰洁\1009030116马冰洁\MC酒店前台管filename='H:\数据库事务实验\马冰洁\1009030116马冰洁\MC酒店前台管(RoomStatusvarchar(10)not(TypeNamevarchar(10)nTypeAmountintno)(RoomRemarksvarcharforeignkey(StatusNo)referencesRoomStatus(foreignkey(TypeNo)referencesRoomTyp)(ClientIDchar(8)PRIClientNamevarchar(30)ClientCertificateIDvarchar(18)ClientPhonevarchar(12))(EmployeeIdchar(8)PRPassWordchar(6)not)DayNoASOutDate-Liveprimarykey(RoomNo,ClientID),foreignkey(RoomNo)referencesRoomInfoFOREIGNKEY(ClientID)REFERENCESClientInfo(Clie)EXECsp_helpindexClie('C0000004','马冰洁','女',,'1993-01-23','59271('C0000001','林静','男',,'1982-11-23',,0',3100,'2011-07-1009:06:07','每日:分前('C0000002','叶华','男',,'1988-01-23',,0('C0000003','素素','女',,'1982',3100,'2011-07-1009:06:07'('C0000001',8204,'2011-07-0509:06:07','2011-07-10('C0000002',5203,'2011-07-0('C0000003',2222,'2011-07-0('C0000004',2202,'2011-07-0whereClientID='C00000--将客户的消费减去200元,但因为之后设置了一个保护安全性的触发器setClientConsume=ClientwhereClientID='C00000whereClientID='C00000whereClientName='马命令,应该包含如下功能:投影和选择;多表连接;子查询;查询结果保存。SELECTClientNamefSELECTClientInfo.ClientID,RoomNo,ClientName,ClientSexwhereClientInfo.ClientID=ReInfo.ClienselectClientSex,Count(ClientSex)as人数fromSELECTTypeName,AVG(ClientConfromRoomType,ClientInfo,ReInfowhereRoomInfo.RoomNo=ReInfo.RoomNoandClientInfo.ClientID=ReInfo.ClientIDaRoomInfo.TypeNo=RoomType.TGroupbyTypeNameHaviSELECTTypeNofromRoomInfoGROUPBYTypeNoHAVSELECTRoomNofromRoomInfoWHERETypeNoIN(SELECTTySELECT*fromRoomTypewherePrice>(SELESELECTClientNamefromClientInfowhereClientSex='男'ANDCliselectRoomNo,StatusNo,whereTypeNo=(selectTypwhereTypeName='商务套统计运算的。selectClientID,ClientName,ClientSex,ClientCertificateID,ClientBirthday,ClientPhone,ClwhereClientConsume>2selectClientID,ClientName,ClientSex,ClientCertificateID,ClientBirthday,ClientInfo.ClientID,ClientName,ClientSex,ClientCertificateID,ClientBirthday,ClientPhone,RoomNo,ClientInfo.ClientID=ReInfoselectRoomInfo.RoomNo,RoomType.TypeName,fromRoomStatus,RoomInfoandRoomInfo.StatusNo=RoomStatusandRoomInfo.TypeNo=RoomTycreateviewzxfselectRoomType.TypeName,SUM(ClifromClientInfo,ReInfo,RoomInfowhereClientInfo.ClientID=ReInfo.ClienandReInfo.RoomNo=RoomInfo.RooandRoomInfo.TypeNo=RoomTyfromzxf九.对视图进行插入、删除、修改数据操作。体会视图与表的异同。values('C0000011','Jason','男',,'1988-07-04','12345678values('C0000012','FrejaBlack','女',,'1988-06-04','123456789',50setClientConsume=ClientbeforewhereClientID='C00000beforewhereClientNameLIKE'J十.编写自定义函数。(1)编写一个自定义函数,将一个字符串作为自变量,返回颠倒顺序的字符串。写出源代码。RETURN@P(2)编写一个自定义函数,能够实现参数化查询的功能。createfunctionclientsq(@ClientIDreturn(selectClientID,ClientName,ClientCertificatWhereClientID=@Clien(3)自己设定函数的具体要求,然后编写出来。CREATEFUNCTIONjc(@nint)DECLARE@svarchar(300)beginset@s=str(@n-1)+'*十一.编写利用游标进行数据处理的存储过程。并在存储过程中应用事务的概念。参加舞会”createprocedureUpdbegindeclareUpdateHKUNoCursorforselectClientIDfromClientInfowdeclare@noToUpdatevarfetchnextfromUpdateHKUNoCursorinto@nwhile@@fetch_statubeginupdateClientInfosetClientRemarks='女士可免费参加舞会'whereClientID=@noToUpdafetchnextfromUpdateHKUNoCursorinto@ncloseUpdateHKUNoCursordeallocateUpdateHKUN十二.编写一个实现修改表的触发器,实现完整性控制。beginselect@oldvalue=ClientConsumefselect@newvalue=ClientConsumefromiif@newvalue<@oldvalueprint'可能出现金额错误,拒绝修改'updateClientInfosetClientConsume=t2.ClientConsumefromClientInfot1,insertedt2whet1.ClientID=t2.CliewhereClientID='C00000十三.设置服务器身份验证模式。用命令创建若干不同验证模式的登录账户。createloginbingjie921123withpassword='123456',default_database=MCcreateloginadminwithpassword=createloginadmin1withpassword='123456',default_database=MC十四.将部分登录赋予服务器角色。然后撤消。EXECsp_addsrvrolemember'bingjie921123','sysadmin'EXECsp_addsrvrolemember'admin1','dbcrEXECsp_helpsrvrolemeEXECsp_dropsrvrolemem

温馨提示

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

评论

0/150

提交评论