属性,关系中不存在传递依赖和部分依赖,且每一个决定因素都包含码,该关系模式满足BCNF范式。入住信息
33子模式设计
为方便系统的使用,以及开发人员对程序的设计和顾客身份信息的安全性,本数据库系统采用子模式的设计方法来提高数据的使用效率和安全保障。
在酒店查询客房信息的时候设计一个子模式仅供系统用户查询到客房名称,客房类型,床位数量,住房单价等一些主要信息,而客房编号和酒店编号是为了系统的灵活性和数据库后台的方便操作而设计的用户可忽略。
在系统人员查询顾客身份信息时,系统可添加子模式使系统用户只能顾客身份证信息的前六位和后四位,以防止顾客信息的泄露。
在用户查询入住信息,评价信息,消费信息以及维修信息时,流水单号都可忽略,减少用户的信息阅读量。
4数据库物理结构设计
41存取方式设计
由于本系统的数据信息的查询操作频繁,所以在部分表中建立索引以提高查询效率。客房信息表修改删除插入操作较少,查询操作较为频繁,所以在该表中以客房编号上建立聚簇索引以提高查询效率。顾客信息表由于插入操作较为频繁,所以不适合建立聚簇索引,采用在用户身份证号码属性上建立非聚簇索引的方法提高数据的查询效率。入住信息表和预定信息表要频繁的进行插入和查询操作,入住信息表和预定信息表中的流水单号具有有序的特性且插入的操作仅发生在表的末尾,所以适合在该模式的流水单号属性上
9
f建立聚簇索引便于数据的查询。由于职工表的在本系统使用频率较少且数据量较少,添加索引反而使系统在索引的维护上耗费大量时间,所以不建议添加索引。评价表由于要经常的插入和查询数据,且该表的数据量随营业时间增加而增加,所以要添加索引以提高系统对数据的查询效率。
42存储结构设计
本系统的数据的存储结构可根据数据的规模的进行设计,对于小型的酒店建议采用单个硬盘的存储方式,减少设计开销。对于大型的酒店,数据量较大,建议使用多个磁盘或使用磁盘阵列的形式来存储数据。
具体的设计要根据实际情况进行详细的设计。
5数据库安全性、完整性设计
51主要视图设计
顾客加密信息(顾客身份证号,顾客姓名)顾客身份证号码只显示前六位和后四位。客房基本信息(客房名称,客房类型,床位数量,住房单价)入住基本信息(房间编号,顾客身份证号,入住时间,退房时间,住宿时长,住宿费用)身份证号码只显示前六位和后四位。预定基本信息(顾客身份证号,房间类型,预定时间,预定入住时长,押金,预定状r