国开《数据库基础与应用》第五章 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』不迷路哦~

相关文章

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

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

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

国开《数据库基础与应用》第四章 4-6-5:IN格式

国开《数据库基础与应用》第四章 4-6-5:IN格式

4-6-5:IN格式使用IN格式的专门比较式。使用关键字IN的专门比较式的语法格式如下:<列名> [NOT] IN {( <常量表> ) | ( <子查询> )}例...

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

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

2-3-1:并运算设两个关系R和S具有完全相同的结构模式,则R和S的并运算的结果仍然是一个关系,该关系的结构与R或S的结构相同,该关系的值是R中所有元组与S中所有元组共同组成的集合。R和S的并运算记作...

国开《数据库基础与应用》第十一章 11-1-4:建立模块应用举例

国开《数据库基础与应用》第十一章 11-1-4:建立模块应用举例

11-1-4:建立模块应用举例一个模块中,可以定义出一个或若干个过程,以Sub关键字为过程标记的称为普通过程,以Function为过程标记的称为函数过程,Sub过程在执行后不需要返回值,而Functi...

国开《数据库基础与应用》第四章 4-2-5:基本表定义格式举例

国开《数据库基础与应用》第四章 4-2-5:基本表定义格式举例

4-2-5:基本表定义格式举例(1)定义学生表create table 学生(  学生号 char(7) primary key,  姓名 char(6) not null unique,  性别 c...

国开《数据库基础与应用》第四章 4-3-3:删除记录语句

国开《数据库基础与应用》第四章 4-3-3:删除记录语句

4-3-3:删除记录语句删除表中记录的语句为DELETE语句,具体语句格式如下:DELETE [FROM] [<数据库名>.<所有者名>.]<目的表名>  [FRO...

国开《数据库基础与应用》第九章 9-2-1:窗体控件概述

国开《数据库基础与应用》第九章 9-2-1:窗体控件概述

9-2-1:窗体控件概述在利用“空白窗体”命令和“窗体设计”命令创建窗体时,都需要用户在打开的空白窗体界面上,添加各种控件,完成窗体设计。下面图1就是使用“窗体设计”命令,打开一个窗体设计视图的情况,...

国开《数据库基础与应用》第五章 5-2-4:机器实现

国开《数据库基础与应用》第五章 5-2-4:机器实现

5-2-4:机器实现首先把逻辑阶段设计的结果,即数据库的逻辑模式,它包括基本表和视图的定义,在具体的计算机系统中建立起来,然后按照需求分析对数据库的各种数据处理要求,给出相应的实现方法。仍然结合旅店管...

发表评论    

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