国开《数据库基础与应用》第五章 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-1:查询操作(2)

国开《数据库基础与应用》第四章 4-5-1:查询操作(2)

4-5-1:查询操作(2)在select查询语句中,还可以使用其他多个选项,以增强和丰富查询功能。如使用GROUP BY选项能进行查询分组统计,使用ORDER BY选项能对查询结果进行排序。...

国开《数据库基础与应用》第八章 8-1-1:建立查询对象的两种方法

国开《数据库基础与应用》第八章 8-1-1:建立查询对象的两种方法

8-1-1:建立查询对象的两种方法利用如下图1所示的创建选项卡中的相应图标,能够创建表、查询、窗体、报表、宏和模板等各种操作对象。创建每一种对象又有相应不同的操作方法。图1 创建选项卡中的图标创建查询...

国开《数据库基础与应用》第七章 7-1-2:Access中的字段数据类型

国开《数据库基础与应用》第七章 7-1-2:Access中的字段数据类型

7-1-2:Access中的字段数据类型共包含有12中不同的字段数据类型:文本、备注、数字、日期/时间、货币、自动编号、是/否、OLE对象、超链接、附件、计算、查阅向导。雇员表:雇员ID、姓名、性别、...

国开《数据库基础与应用》第八章 8-3-4:例8-4

国开《数据库基础与应用》第八章 8-3-4:例8-4

8-3-4:例8-4创建一个计算列查询,在“公司信息管理”数据库中,保存“产品”表中所有信息,并添加一个新的列“库存金额”,其值是各个产品的单价与数量的乘积。具体操作步骤如下:第①和②步与例8-1 相...

国开《数据库基础与应用》第二章 2-2-1:数据库系统简介

国开《数据库基础与应用》第二章 2-2-1:数据库系统简介

2-2-1:数据库系统简介在一个关系中,每个元组表示现实世界中的一个可描述的实体,而每个实体又包含有许多属性,其中至少存在着一种或一组属性,作为其主码。该主码值绝对不能取空值。空值是一种不确定的值,表...

国开《数据库基础与应用》第十章 10-1-2:报表命令

国开《数据库基础与应用》第十章 10-1-2:报表命令

10-1-2:报表命令能够在当前打开的表或查询对象上自动创建一个报表,该报表以表格方式显示,每行显示一条记录。例如:假定在公司信息管理数据库的雇员表上,通过“报表”命令创建一个报表,首先要打开雇员表,...

国开《数据库基础与应用》第五章 5-1-5:运行维护阶段

国开《数据库基础与应用》第五章 5-1-5:运行维护阶段

5-1-5:运行维护阶段此阶段主要依靠数据库管理员,即DBA做日常的数据库系统管理和维护工作,他需要利用专门的系统测试和分析工具对系统运行状态进行检测,以便更好地管理和维护系统的正常运行。...

国开《数据库基础与应用》第二章 2-4-3:连接运算

国开《数据库基础与应用》第二章 2-4-3:连接运算

2-4-3:连接运算连接运算是双目运算,运算对象是两个关系,它把两个关系R和S中的所有元组,按照相应属性值的比较条件连接起来,得到的结果关系是R和S的笛卡尔积中的一个子集。比较条件是由比较运算符和关系...

发表评论    

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