国开《数据库基础与应用》第五章 5-2-3:逻辑设计

搜答案方法:电脑端按「Ctrl+F」、手机端用「页面查找」功能输入关键词查找。

5-2-3:逻辑设计

根据上一步概念设计得到的4个基本表:即客房表、住宿表、消费卡表和旅客登记表,以及5个视图表:即客房空闲表、住宿费表、伙食费表、娱乐费表和催补款表,以及它们之间的内在联系。

create database 旅店管理 /*建立旅店管理数据库*/

use 旅店管理 /*使旅店管理数据库成为当前库*/

(1)向旅店管理数据库中插入基本表

1)客房表

create table 客房表

  房序号 int primary key,

  楼号 int not null,

  楼层号 int not null,

  房间号 int not null,

  床位号 int default 1,

  房间电话 char(5),

  价格 int not null,

  已用 int default 0, check(已用=0 or 已用=1)

2)消费卡表

create table 消费卡表

  卡号 char(6) primary key,

  资金总额 float default 0 check(资金总额>=0),

  住宿费 float default 0 check( 住宿费>=0),

  伙食费 float default 0 check(伙食费>=0),

  娱乐费 float default 0 check(娱乐费>=0),

  余额 as 资金总额-住宿费-伙食费-娱乐费 /*余额为计算字段*/

3)旅客登记表

create table 旅客登记表

  姓名 char(8) not null,

  性别 char(2) not null check(性别='男' or 性别='女'),

  来源地 char(10),

  单位 char(10),

  身份证号 char(18) not null,

  登记日期 datetime not null,

  联系电话 char(13),

  消费卡号 char(6) not null,

  foreign key(消费卡号) references 消费卡表(卡号)

4)住宿表

create table 住宿表

(

  卡号 char(6) not null,

  房序号 int not null unique,

  foreign key(房序号) references 客房表(房序号),

  foreign key(卡号) references 消费卡表(卡号)

)

(2)视图

1)客房空闲表

它通过客房表产生出来,是客房表中已用字段为0的所有空床位的投影。

在视图定义语句中,若视图名后省略列名表,则该视图默认包含着其查询子句中投影出的所有列。在此处定义的客房空闲表就包含有客房表中的所有列的定义和“已用”列值为0的所有行的内容。

create view 客房空闲表

 as select *

  from 客房表

  where 客房表.已用=0

2)住宿费表

它通过消费卡表产生出来,是消费卡表中在卡号、住宿费和余额这3个字段的投影。

create view 住宿费表

 as select 卡号,住宿费,余额

  from 消费卡表


「国开学习吧」:用户COOKIE有效时间30天,收藏网址『guokaixuexi.com』不迷路哦~

相关文章

国开《数据库基础与应用》第四章 4-5-6:INTO选项

国开《数据库基础与应用》第四章 4-5-6:INTO选项

4-5-6:INTO选项INTO选项的语法格式如下:INTO <基本表名> <逻辑表达式>此选项能够根据查询结果自动建立一个基本表。例7:从教学库中查询出每个学生的记录信息,以...

国开《数据库基础与应用》第十一章 11-1-1:创建宏和模块的命令

国开《数据库基础与应用》第十一章 11-1-1:创建宏和模块的命令

11-1-1:创建宏和模块的命令如下图1所示,在其最右面的“宏与代码”命令组中,存在着4个命令按钮,分别为宏、模块、类模块、Visual Basic。单击“宏”按钮,将自动打开创建一个宏的生成器窗口,...

国开《数据库基础与应用》第八章 查询

国开《数据库基础与应用》第八章 查询

本章导读在上一章我们学会了建立表并在表中添加和编辑数据。数据库表中的数据是为了今后进行处理而存储的,而数据处理操作中最常见的就是查询操作。在这一章我们将说明如何在已有表的基础上建立各种查询,首先说明查...

国开《数据库基础与应用》第八章 8-1-2:利用查询向导创建不带查询条件的查询对象

国开《数据库基础与应用》第八章 8-1-2:利用查询向导创建不带查询条件的查询对象

8-1-2:利用查询向导创建不带查询条件的查询对象当采用第1种方法,点击“查询向导”图标时,将自动打开一个标题为“新建查询”的对话框,如下图2所示。图2 新建查询对话框通过查询向导可以建立简单查询、交...

国开《数据库基础与应用》第三章 3-2-3:求侯选码

国开《数据库基础与应用》第三章 3-2-3:求侯选码

3-2-3:求侯选码根据最小函数依赖集求出关系中的侯选码:候选码定义:设一个关系为R(U),X为U的一个子集,若X能够函数决定U中的每个属性,并且X的任何真子集都不能函数决定U中的每个属性,则称X为关...

国开《数据库基础与应用》第四章 4-2-3:列级完整性约束

国开《数据库基础与应用》第四章 4-2-3:列级完整性约束

4-2-3:列级完整性约束在定义一个基本表中,在每个列的列名及数据类型定义的后面,还有时需要给出该列的完整性约束的定义,称此为列级完整性约束。列级完整性约束被分为以下6种情况。(1)默认值约束。表示为...

国开《数据库基础与应用》第九章 9-2-2:文本框与标签控件的使用

国开《数据库基础与应用》第九章 9-2-2:文本框与标签控件的使用

9-2-2:文本框与标签控件的使用标签控件主要用来显示一些说明性文字,它是非绑定型控件。文本框控件用来显示用户输入和计算的数据,以及对应表和查询对象中的字段值。例如:请通过“窗体设计”命令创建一个窗体...

国开《数据库基础与应用》第四章 4-6-1:WHERE选项格式

国开《数据库基础与应用》第四章 4-6-1:WHERE选项格式

4-6-1:WHERE选项格式WHERE <逻辑表达式>此逻辑表达式用来指定不同源表之间记录的连接条件,以及从连接后的中间表中选取记录的筛选条件(或者叫选择条件),它们之间通过逻辑与(AN...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。