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

相关文章

国开《数据库基础与应用》第五章 本章小结

国开《数据库基础与应用》第五章 本章小结

本章小结1.数据库应用系统设计是一项非常艰巨的任务,它需要很强的数据库理论知识,相关应用领域的专业知识,数据库管理系统和开发工具的运用,以及个人和团队的经验和能力等。对于初学者来说,要有耐心,要脚踏实...

国开《数据库基础与应用》第四章 4-3-1:向表中插入记录的语句

国开《数据库基础与应用》第四章 4-3-1:向表中插入记录的语句

4-3-1:向表中插入记录的语句向表中插入记录有两种语句格式,一种是单行插入语句格式,另一种是多行插入语句格式,它们的语句关键字都是INSERT。单行插入语句格式如下:INSERT [INTO] [&...

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

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

7-2-1:表中的字段属性在一个表中,根据字段的数据类型不同,将需要设置不同的字段属性。例如:数据类型字段属性文本主要有字段大小、格式、输入掩码、默认值、有效性规则、有效性文本、必需、允许空字符串、索...

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

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

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

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

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

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

国开《数据库基础与应用》第七章 7-3-3:在主表中查看子表内容

国开《数据库基础与应用》第七章 7-3-3:在主表中查看子表内容

7-3-3:在主表中查看子表内容在一个数据库中,建立了表之间的关系后,当打开一个主表时,主表中的每条记录的开始,将显示出一个加号字符,如下图6所示。图6 雇员主表所对应的数据表视图在图6中,显示的当前...

国开《数据库基础与应用》第十一章 11-3-3:窗体中事件过程分析

国开《数据库基础与应用》第十一章 11-3-3:窗体中事件过程分析

11-3-3:窗体中事件过程分析在上面介绍的数据库应用窗体中,共包含有7个命令按钮,在窗体视图状态下,当单击每个命令按钮时将自动完成相应的功能。窗体中的7个命令按钮,定义有7个单击事件的过程,同时还定...

国开《数据库基础与应用》第十一章 11-4-3:例11-3

国开《数据库基础与应用》第十一章 11-4-3:例11-3

11-4-3:例11-3编写VBA代码,通过输入对话框输入数据,判断数据是否大于0,之后再根据判断结果打开对话框。实现过程和步骤说明如下:1.打开Access的“公司信息管理”数据库,单击“创建”选项...

发表评论    

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