数据库原理实训报告
题
目餐饮公司信息管理系统
__
信息工程学院 二○一四年十二月
目 录
1 / 22
___ 餐饮企业信息管理系统
1 序言 ................................................................................................................................................... 1
选题原因和本质意义 ................................................................................................... 1
国内外对于该课题的研究现状及趋向 .............................................................. 3
2 需求剖析 ........................................................................................................................................ 4
可行性剖析 ....................................................................................................................... 4
功能剖析 ............................................................................................................................ 5
3 系统设计 ..................................................................................................................................... 6
定义 ........................................................................................................................................ 7
系统模块图 ........................................................................................................................ 8
E-R 图 ............................................................................................................................. 9
数据表的设计 : .............................................................................................................. 9
用例列举 .......................................................................................................................... 12
使用到的触发器 ..................................................................................................... 12 使用到的视图 .......................................................................................................... 12 13 14 15 4 结论 .............................................................................................................................................. 5 参照文件 ................................................................................................................................... 6 附录:念书笔录 ......................................................................................................................
2 / 22
餐饮企业信息管理系统
餐饮公司信息管理系统
实训剖析报告
1 序言
跟着经济的发展社会的进步, 去饭馆过节聚会成为了一种新的时髦。 所以每逢过年过节,饭馆都会迎来大量的顾客, 随之而来的就是大量的预约和结算信息将会使得饭馆的工作人员不堪重担, 并且不可以防止的会出现这样或那样的错误。 餐饮信息管理软件的出生能够为他们供给便利的管理服务。 并且几乎为零的错误率也使得餐馆能够更好的为顾客服务。 它不单能够为餐馆降低人力资源的付出, 节俭了成本, 并且也能够提高自己的形象,使餐厅迎来更多的门客。
本系统使用了技术并采纳了 C/S 架构,饭馆服务人员使用它能够快速正确地为客户服务, 人性化的系统界面设计使得软件便于使用者的快速掌握, 计算机几
乎为零的错误率和高效的办理能力使得本来繁琐的餐饮管理变得更为科学、 快捷以及人性化。
使用本系统, 职工将能够快速地编写顾客资料信息, 并且为客户供给订餐打折和充值服务。管理员使用本系统, 既能够达成职工的所有工作, 又能够更好地管理职工,精确地认识职工账面的资本状况。 除了这些,管理员还能够设定餐厅的菜单信息和折扣程度,从而使得管理员对餐厅的营运状况能够全面掌控。
1.1 选题原因和本质意义
“民以食为天”,作为衣食住行的一部分,饮食在生活中拥有极其重要的地位。
在原始社会, 人类在饮食方面的要求仅限于充饥, 不过是生计的需要, 处于与自然作斗争的范围, 还谈不上其余方面的意义。 跟着人类社会的发展, 生产力的提高使得生产方式发生巨大的变化, 社会产品渐渐丰富, 人们对饮食有了更多的选择。 人类经历工业时代进入信息时代后, 饮食己经从生计需要逐渐发展成为拥有多种内涵的经济文化现象,加上民族文化背景, 饮食常常成为民族和文化的一种象征。 而餐饮业也跟着社会的发展,从第一家产、第二家产中分化出来, 渐渐成为第三家产的重要构成部分,
3 / 22
餐饮企业信息管理系统
在公民经济中发挥重要的作用。 我国的餐饮业历史悠久, 形成了标新立异的饮食文化,可是直到现代餐饮业才真实成为家产。
近二十多年来,我国餐饮业发展迅猛,日异月新,各样风味特点,各样经营形式,各
种组织结构的餐厅公司星罗云布。目前中国城镇拥有餐馆 300 多万家, 1999 年销售额达到 3199.6 亿, 2000 年达到 3600 亿元, 2009 年打破了 10000 亿元,市场十分广阔。与此同时,外国的餐饮业也加速了进入国内市场的步伐, “麦当劳”、“肯德鸡”两家美国快餐公司在进入中国十年以来, 依据中国的特点彩整经营策略, 已经据有了必定的市场份额, 而更多的外国餐饮业也不甘落伍, 争相进入我国市场。 异国餐饮文化在国内餐饮市场接踵出现, 国内外餐饮行业建互相浸透、 交错交融的趋向日趋显然,表示我国餐饮业正向横向和纵向发拓展,也说明我国餐饮业正面对着日趋严重的竞
争。餐饮业繁华发展, 市场竞争日趋强烈, 可是诸多经营管理与生产方式的问题却严重地限制着民族餐饮业的进一步发展。
(1) 经营方式落伍,经营特点不明显:很多餐饮业仍保存传统的经营观点、经营模式,菜谱上的菜名常常没法实时更新,让人大失人望。
(2) 生产方式和管理服务水平低,科技含量不高。我国的餐饮业仍旧以沉重的体 力劳动加简单工具的手工作坊式的生产方式为主, 管理水平低下, 没法适应信息时代 快节奏的生活。
在与外国餐饮业的强烈竞争中, 民族餐饮业因为经营方式和管理手段落伍在竟争中处于劣势。 餐饮业的有识之士己经看到了传统餐饮业的弊端, 开始实行新的经营方式,借助新技术向现代餐饮转变。 在这一前提下, 发展餐饮管理系统对提高餐饮业的科技含量,提高劳动生产率,节俭成本,获得经营优势有重要的意义。
在社会的趋向下, 餐饮行业的规模日渐扩大, 可是该行业存在好多单薄环节, 主要表此刻以下几个方面。
(1) 手工运作模式,工作人员的工作量沉重,数据传达不实时,对数据的统计和计算过程中易发生差错,工作效率低,工作流程不严实。
(2) 客户的花费清单手工填写,错误率高,笔迹不清楚,格式不一致,使得行业不规范。
(3) 不便于统计营业额,历时帐务的查问也不方便。
针对以上的弊端, 餐饮行业需要使用计算机系统对餐饮公司信息进行管理。
使用
计算机管理系统管理餐饮的长处为:检索快速、查找方便、靠谱性高、储存量大、保
4 / 22
餐饮企业信息管理系统
密性好、寿命长、成本低等。这些长处能够极大地提高信息管理的效率,也是公司的科学化、正规化管理与世界接轨的重要条件。
传统的餐饮管理此刻已经很难对付此刻社会对餐饮业的管理要求, 它与此刻的鉴于计算机技术发展起来的餐饮信息管理系统对照,有以下几大不一样:
便利性方面:传统的人工对餐饮信息进行管理,如:顾客信息管理,菜单信息管理和订餐信息的管理, 都是很繁琐的过程,此中的任何一步过程都要浪费大量的时间,而跟着计算机技术的发展,这些本来繁琐的问题都会变得易如反掌。
安全性方面: 传统的纸质记录方式查问起来很麻烦, 并且保密性很差, 并且简单磨损丢掉,对于会员余额的管理是特别不利的。 但假如采纳的是电子文档的方式进行数据的保存, 这全部都变得特别简易, 你能够方便的对数据信息进行备份查问, 并且数据的安全性能够获得最大程度的保证。
正确性方面: 传统的人工记账简单犯错, 假如采纳这类方式来办理此刻的含有打折信息的花费结算会使得工作量很大, 假如计算犯错将严重影响自己的名誉。 而假如使用软件系统,这些问题都将不会出现,计算机的错误率几乎为零。
鉴于以上传统的人工管理方式的各种缺点, 我设计了方便中小级别餐饮公司使用的应用程序, 经过它,管理者能够基本解决以上所碰到的各种问题, 并且更为科学的对老客户进行打折, 并且增添了顾主权限的不一样设计使得它更为方便雇主对雇员的管理与监察。
1.2 国内外对于该课题的研究现状及趋向
跟着社会经济的发展 , 人们对生活质量的要求愈来愈高 , 作为服务之一的餐饮业也在不停的完美服务系统 , 需要成立餐饮立体化服务系统 , 餐饮管理者想实时认识酒店的所有营运状况及经营走势 , 找出运行成本 , 作为经营决议的依照。 只有运用先进的
科学管理手段 , 利用计算机系统管理才能实现这一管理模式。
信息化社会对餐饮业提出新的挑战可是也供给新的机会。 生活节奏加速, 餐饮业也一定跟上时代的步伐; 日趋发展的市场和日趋严重的境争, 是的我国餐饮业面对着一个新的时代难题, 经营管理方式的落伍以前是民族餐饮业发展的桎梏; 而先进的技术供给了减少体力劳动,改良服务质量,提高经营管理效率的门路。
开发切合我国国情的餐饮管理系统是市场的呼喊, 是餐饮管理的需要, 是社会信
息化的必定。
5 / 22
餐饮企业信息管理系统
2 需求剖析
2.1 可行性剖析
可行性研究的目的,就是用最小的代价在尽可能短的时间内确立问题能否能够
解决。要达到这个目的, 一定剖析几种主要的可能解法的利害, 从而判断原定的系统规模和目标能否现实, 系统达成后所能带来的效益能否大到值得投资开发这个系统的程度。所以,可行性研究本质上是要进行一次大大压缩简化了的系统剖析和设计的过
程,也就是在较高层次上以较抽象的方式进行的系统剖析和设计的过程。 系统的可行性剖析主要包含经济上的可行性, 技术上的可行性和操作上的可行性, 下边将分别介绍三个方面上的可行性:
(1) 技术上可行性
餐饮管理系统是采纳 Java 语言编写的,拥有 Java 的“一次编写,各处运行”的长处,所以此系统在不一样的操作系统上都能够运行,拥有很强的移植性、健
全性和安全性。 并且餐饮管理系统要求要求应具备功能齐备、 易于使用、易于保护等特点,而对于后者则要求能成立数据一致性和完好性强、 数据安全性好的库。 鉴于以上的要求,本系统采纳 Eclipse7.0 作为开发工具, 使得代码编写的过程大大的简化。并采纳 C/S 架构系统,不单提高了程序的可保护性, 并且利于更改和保护应用技术规范,更为重要的是能够对数据进行严实的安全管理。 而数据库则是采纳目前较为流行
的 Sql Server 2008 , Java 对 Sql Server 2008 拥有很好的支持并且在经历了多年的发展 Sql Server 2008 很好的口碑。此系统在技术上是可行的。
(2)操作上可行性
餐饮管理系统具备友善的用户界面 , 使用方便,易于保护,操作简单易于被用户接受 , 用户只需娴熟操作计算机, 和对此系统使用做简单的认识即可方便使用 , 并且使用此系统能够大大减少管理人员的负担。 所以从使用操作方面看, 此系统的开发是可行的 。
(3)经济上可行性
6 / 22
餐饮企业信息管理系统
本餐饮管理系统运行的硬件环境只需一台低价的电脑既可,软件环境则是安
装 windows XP 系统, Eclipse7.0 ,Sql Server 2008 既可。对于一般的中小型餐馆来说都是很小的成本支出。
所以此系统在经济上、技术上、操作上开发都是可行的。
2.2 功能剖析
知足客户的需求, 实现餐饮管理的流程。 本系统系统功能区分为初始模块, 菜品管理模块,菜系管理模块,台号管理模块,日结账模块,月结账模块,年结账模块,用户管理模块。
菜品管理模块:对于菜名的增添,订价,编号,助记码,以及菜名的删除。
菜系管理模块:菜系的增添及编号。
台号管理模块:台号的增添座位数的设定,以及台号的删除。
订单、签单模块:对目前的订单签单。
结账模块:对目前的花费进行统计结算。
日结账模块:对全天的账目进行统计,查问。
月结账模块:对整月的账目进行统计,查问。
年结账模块:对整年账目进行统计,查问。
用户管理模块:用户的增添删除,以及账户密码的改正。
7 / 22
餐饮企业信息管理系统
3 系统设计
数据库技术是信息资源管理最有效的手段。 数据库设计是指对于一个给定的应用
环境,结构最优的数据库模式,成立数据库及其应用系统,有效储存数据,知足用户
信息要乞降办理要求。数据库设计中需求剖析阶段综合各个用户的应用需求
( 现实世
界的需求 ) ,在观点设计阶段形成独立于机器特点、 独立于各个 DBMS产品的观点模式 ( 信息世界模型 ) ,用 E-R 图来描绘。在逻辑设计阶段将 E-R 图变换成详细的数据库产品支持的数据模型如关系模型, 形成数据库逻辑模式。 而后依据用户办理的要求, 安全性的考虑, 在基本表的基础上再成立必需的视图 (VIEW)形成数据的外模式。 在物理设计阶段依据 DBMS特点和办理的需要,进行物理储存安排,设计索引,形成数据库
内模式。设计一个数据库需要耐心采集和剖析数据, 认真理清数据间的关系, 除去对数据库应用不利的隐患等等。 在整个设计过程中, 我们一定按步骤认真达成。 一个数据库的设计利害将直接影响未来鉴于该数据库的应用。 此外,数据库也不是独立存在的,它老是与详细的应用有关的, 为详细的应用而成立的。 所以在设计数据库以前我们一定明确应用的目的, 在设计数据库的时候也应时辰考虑用户需求, 数据库与详细应用之间是相辅相成的关系。数据库的设计过程一般包含以下几个步骤:
(1) 确立成立数据库的目的和采集数据
数据库设计过程的第一个阶段是确立成立数据库的目的和采集数据。往常,我们 也把确立成立数据库的目的称为需求剖析。 需求剖析的任务就是经过详尽检查要办理的对象来明确用户的各样需求。 并且经过检查、 采集和剖析信息, 以认识在数据库中需要储存哪些数据,要达成什么样的数据办理功能。这一过程是数据库设计的起点,
它将直接影响到后边各个阶段的设计, 并影响到设计结果能否合理和适用。 确立目的以后就需要依据目的采集实用的数据。 在着手采集数据以前最重要的就是要检查用户的本质需求,而后剖析与表达这些需求。检查用户需求的方法有好多,如查阅记录、
访谈、开检查会、设计检查表请用户填写或回答有关问题等。 此中比较有效的方法是访谈,我们能够借助一些设计合理的检查表来与用户直接沟通。 经过充足沟通, 能够认识他们平时是如何使用数据库的, 以及对目前信息的要求, 从而设计知足用户需求的字段,并依据设计的字段采集数据。
8 / 22
餐饮企业信息管理系统
(2) 成立观点模型
确立成立数据库的目的以及达成数据采集后, 就进入数据库设计过程的第二阶段
——成立观点模型。 这一阶段是整个数据库设计的要点。 设计时,一般先依据应用的
需求,画出能反应每个应用需求的
E-R 图,此中包含确立实体、属性和联系的种类。
而后优化初始的 E-R 图,除去冗余和可能存在的矛盾。 观点模型是对用户需求的客观
反应,其实不波及详细的计算机软、硬件环境。所以,在这一阶段中我们一定将注意力
集中在如何表达出用户对信息的需求,而不考虑详细实现问题。
(3) 成立数据模型
达成上一阶段后, 我们获得了一个与详细计算机软、 硬件没关的观点模型。 接着我们就能够着手成立数据库模型了, 这是数据库设计过程的第三个阶段。 在这一阶段中我们要将观点模型中获得的 E-R 图变换成详细的数据模型。 经过前方的学习, 我们已经认识到数据模型一般分为层次、 网状、关系和面向对象模型等。 目前比较常用的是关系数据模型, 我们往常将 E-R 图变换成关系数据模型, 本质上就是要将实体、 实体的属性和实体之间的联系变换为关系模式。
(4) 实行与保护数据库
最后一个阶段是实行与保护数据库。 达成数据模型的成立后, 我们就一定对字段进行命名,确立字段的种类和宽度, 并利用数据库管理系统或数据库语言创立数据库
结构、输入数据和运行等,所以数据库的实行是数据库设计过程的“最后实现” 。假如数据库运行很成功, 则表示数据库设计任务基本结束, 此后的要点就是数据库的保护工作,包含做好备份工作、数据库的安全性和完好性调整、改良数据库性能等。数
据库的设计在数据库应用系统的开发中据有很重要的地位。只有设计出合理的数据
库,才能为成立在数据库上的应用供给方便 . 可是数据库的设计过程素来都不会有真实的结束,因为跟着用户需乞降详细应用的变化和扩大, 数据库的结构也可能会随之变化。
3.1 定义
(1) 系统名称:餐饮公司基本信息管理系统
(2) 数据库管理软件: Microsoft SQL Server
(3) 数据库设计采纳软件: Microsoft Office Visio 2003
9 / 22
餐饮企业信息管理系统
(4) 系统采纳 C/S 系统结构: Client ( 客户端 ) 负责供给表达逻辑、 显示用户界
面信息、接见数据库服务器; Server ( 服务器 ) 端用于供给数据服务。
(5) 运行平台: windows 2000/xp/linux
3.2 系统模块图
登岸界面
主框架窗口
日 结 账
月 结 账
年 结 账
菜 品 管 理
菜 系 管 理
用 户 管 理
订 单 、 签 单
结 账
账
菜 系 的 删 除 号 、 密 码 添 加
用 户 信 息 添 加
菜 品 的 添 加
菜 品 的 删 除
助 记 码 的 使 用
菜 系 的 添 加
图 系统模块图
(1) 菜品信息的管理:(菜名的增添,订价,编号,助记码以及菜名的删
除)
(2) 菜系管理模块:(菜系的增添,订价,编号,助记码以及菜名的删除)
(3) 用户管理模块:(用户的增添删除,以及账户密码的改正)
(4) 台号管理模块:(台号的增添座位数的设定,以及台号的删除)
(5) 订单、签单模块:(对目前的订单签单。)
(6) 结账模块:(对目前的花费进行统计结算。 )
(7) 日结账模块:(对全天的账目进行统计,查问。 )
(8) 月结账模块:(对整月的账目进行统计,查问。 )
10 / 22
餐饮企业信息管理系统
E-R 图
座位
数
台号
人数
编号
桌台
选择
客人 开单
产生
对付 款
菜品
单价
菜单
菜系
助记 码 编号
签单
账单
日结 账 月结 账 年结 账
图 3.2 E-R 图
3.4 数据表的设计:
(1)用户表
表 3.1 用户表
序号 1 2 3 4 5 6 7
字段名称 user_id Pwd Style Id Name Tel Money
字段描绘 用户编号 用户密码 用户种类 用户身份号 用户姓名 用户电话 收款金额
字段种类 char char nchar char char Char money
长度 20 20 20 20 20 20
备注 不一样意空 不一样意空 不一样意空 不一样意空 不一样意空 不一样意空 同意空
用户表主要用于储存一些用户信息,如用户的账号、密码和种类地址等等,主要用 于用户登录,增添客户和增添预准时会使用到用户信息来记录经手的用户,字段
money用于记录取户的收款金额,便于结算时对收款现金的查对。
11 / 22
餐饮企业信息管理系统
( 2)客户表
表 3.2 客户表
序号 1 2 3 4 5 6 7 8 9 10 11 12
字段名称 Name Id Address Birthday Pwd Addtime Money usedmoney Photo Tel
字段描绘 客户姓名 客户编号 客户地址 客户诞辰 客户密码 增添时间 账户余额 已用金额 客户照片 客户电话
字段种类 char nchar char nchar nchar nchar money money image nchar nchar nchar
长度 20 20 50 20 20 20
备注 不一样意空 不一样意空 不一样意空 不一样意空 不一样意空 不一样意空 不一样意空 不一样意空 同意空
20 20 10
mobilephone 客户手机 Userid
用户编号
同意空 不一样意空 不一样意空 客户表主要用于储存一些客户信息, 如客户的账号、 密码、联系方式和花费状况等等,主要用于客户订餐、充值和结算,字段 money用于储藏账户余额,在使用充值和账户余额支付时会使用到它。 字段 usedmoney用于记录客户的花费状况, 为客户打折时会使用到它。
(3)食谱表
表 3.3 食谱表
序号 1 2 3 4 5
字段名称 Name Price Photo Efficacy Formula
字段描绘 食谱名称 价钱 食谱照片 食谱功能 食谱配料
字段种类 nchar money image nchar nchar
长度 20
备注 不一样意空 不一样意空 同意空
50 50
同意空 同意空
食谱表主要用于储存一些食谱信息, 如食谱的名称、 价钱和照片等等, 主要用于 12 / 22
餐饮企业信息管理系统
客户订餐,使用于增添预约。字段
Price 记录的是食品的价钱。当客户预约餐点时,
系统使用它来算花费。
1、 预约表
表3.4 预约表
序号 1 2 3 4 5 6 7 8
字段名称 Tableid Date Time Name customerid Userid Food Money
字段描绘 桌号 日期 时间 客户姓名 客户身份号 用户编号 预约餐点 花费金额
字段种类 nchar nchar nchar nchar nchar nchar nvarchar money
长度 10 20 10 10 10 10 MAX
备注 不一样意空 不一样意空 不一样意空 不一样意空 不一样意空 不一样意空 不一样意空 不一样意空 预约表主要用于储存一些预约信息, 如客户的账号、 预约的时间、桌号和菜单等等,主要用于记录客户的预约信息,会使用到用户、客户、菜单和折扣信息。当系统预约
餐点时,会从其余各表中调出需要的信息, 经过计算和办理后, 将最后信息储藏到预约表,该表和其余各表都有密切的联系。
2、 折扣表
表 3.5 折扣表
序号 1 2
字段名称 usedmoney Discount
字段描绘 已花费金额 折扣程度
字段种类 char char
长度 10 10
备注 不一样意空 不一样意空 折扣表用于储存管理员(店东)设定的打折信息,用来计算打折后的对付金 额,使用在增添预准时打折。当客户预约餐点时,打信服务的折扣程度就是参照
该表。
13 / 22
餐饮企业信息管理系统
3.5 用例列举
3.5.1 使用到的触发器
(1)当删除菜单信息表中某一菜单信息时, 触发菜单信息表, 提示没法删除
create trigger T 删除菜单信息表记录
on dbo.菜单信息表
for delete
as
if(select count(*)from deleted inner join 菜单信息表
on deleted.编号 = left( 菜单信息表 .菜单编号 ,2))>0
begin
raiserror(菜单信息表存在此编号,严禁删除! ',5,0)
rollback transaction
end
2.当改正客人点菜信息表时,同时改正菜单信息表的目前状态属性
create trigger T 改正点菜信息表记录
on dbo.点菜信息表
for update
as
if(select count(*) from inserted )>0
begin
update 菜单信息表 set 状态 = (select 目前状态
from inserted)
where (编号 ) = (select 编号 from deleted)
3.5.2 使用到的视图
( 1)用于查问可点菜单视图定义以下:
create view 可点菜单视图
as
14 / 22
餐饮企业信息管理系统
select 编号 , 详细桌号 , 目前菜单
from 点菜信息表
where 目前菜单 = '001'
( 2)用于已使用餐桌统计视图定义以下:
create view 已使用餐桌统计视图
as
select 编号 ,
count( 状态 )
as 已使用餐桌号
from 餐桌信息表
group by 状态 ,编号
having 状态 = ' 已使用 '
(3)用于查问可使用餐桌视图定义以下: create view 可使用餐桌视图
as
select 编号 , 目前餐桌
from 餐桌号
where 目前餐桌 = '002'
4 结论
此餐饮管理系统实现了餐饮管理系统的基本功能,并拥有友善的界面,操15 / 22
餐饮企业信息管理系统
作简单方便,基本实现了前台管理、桌台信息的查问、开台信息、点菜、报表、收银、桌台信息管理、职工管理、菜单保护、花费查问和盈余信息查问等功能。
(一)运行环境:
系统采纳此刻流行 SQL Server 等大型数据库系统。
(二)系统特点:
① 本系统为全中文界面,功能全,易操作。
② 强盛的查问和报表功能。
③ 系统结构谨慎、性能稳固、使用方便。
④ 速度快。
⑤ 学习简单。不具计算机经验的管理人员和业务操作员只需拥有业务管理的基
本知识即可在较短的时间内掌握; 系统采纳图形界面和导游式操作, 本着“功能越复杂,操作越简单”的原则设计,易学易用。
⑥ 保护简单,系统运行后几乎不需要专业系统管理员保护,为您减少开支。
5 参照文件
[1] [ 美 ] Bruce Eckel. Thinking In Java
英文第 4 版 [M]. 北京:机械工业第一版社,
2007
[2] 张海藩 . 软件工程导论 . 第三版 [M]. 北京:清华大学第一版社, 1998.1.
16 / 22
餐饮企业信息管理系统
[3] 陈春玲,李频,陈丹伟 . 软件工程与数据库概论 [M]. 西安:西安电子科技大学第一版
社, 2002 。
[4] 宛延闿等编著 . 适用 Java 程序设计教程 [M]. 北京:机械工业第一版社, 2006 [5] 张莉 , 王强 .SQL SERVER数据库原理及应用教程 [M]. 北京:清华大学第一版社 ,2003
6 附录:念书笔录
(SQL SERVER )
17 / 22
数据库原理及应用教程餐饮企业信息管理系统
DDL用于定义数据库方案, DML用于表达数据查问和查问。 DDL和 DML一般
是同一种语言的两个构成部分,而不是两种语言。
DML用于接见、操作按必定的
数据模型组织好的数据,可接见方式有:
( a) 增添 ( b) 删除 ( c) 改正 ( d) 查问 DML大概分两类
(1) 过程式 DML:要求用户说明需要什么数据,以及如何获得数据。
(2) 申明式 DML:也称非过程式 DML,只说明需要什么数据,不用说
明如何获得。
申明式 DML学习、使用都更方便,但要求数据库来确立适合、高效的接见数
据的方式。用于获守信息的 DML被称为查问语言。 固然其实不谨慎,可是在实践中,
查问语言和 DML指的是一回事。查问语言有好多种, SQL不过此顶用得最为宽泛
的一种。前方提到的抽象层次对数据定义、组织以及操作都合用。在物理层,人
们需要定义适合的算法来高效地接见数据, 在更高的层次, 人们重申的是使用的方便性,目标是提高用户与系统互动的效率。 DBMS的查问办理器将用户的 DML
查问翻译成物理层的一串操作。数据库的方案经过一组用 DDL表达的定义来表示。其余, DDL还用于表示数据的一些附带属性。 DDL中表示数据的储存与接见方法的语句被称为数据储存和定义语言。 这些语句定义了数据库的实现细节, 这些细节一般是向用户隐蔽的。储存在 DB中的数据的值一定知足某些特定的一致性拘束。比方账户余额不可认为 0,某门课的选课人数不可以超出 40。DDL供给了一些方法来实现这些拘束,每次进行更新时, DBMS都会去检查这些拘束能否被知足了。固然说拘束能够是 DB上的任何的断言。可是复杂的断言检测起来成本特别高。所以, DBMS一般只实现那些检测成本较低的拘束:
a) 值域拘束。每个属性都一定有相应的值域(比方整型、字符串、日期)申明一个属性的值域就相当于拘束了这个属性可取的值的范围。 值域拘束是最基本的完好性拘束。它们检测起来也比较简单。
18 / 22
餐饮企业信息管理系统
b) 引用完好性。 有些时候,我们希望在一个关系里出现的一组属性值也出此
刻另一个关系里,这就是引用完好性。违犯引用完好性拘束的更新操作会被拒绝。
c) 断言。断言是 DB一定知足的某种条件。值域拘束和引用完好性拘束特别形式的断言。 还有些拘束没法像它们这样简单地表达出来。 这个条件就一定用断言来表示。创立断言后,只好能知足该断言的操作才会被同意。
DDL就像其余语言同样,有输入,也有输出,其输出都放在数据词典里,
数据词典中包含元数据——数据的数据。 数据词典是一类特别的表, 它们只好被DBMS自己接见和更新。在读取或改正数据以前, DBMS会去查阅数据词典中相应的内容。关系数据库鉴于关系模型来建立, 使用一组表来表示数据以及数据间的关系,它还包含相应的 DML、DDL。关系模型是一种鉴于记录的模型。鉴于记录的模型是指在这类模型中, 数据库由一些固定格式的记录构成, 这些记录分属于
不一样的种类。一个表中包含属于某个特定种类的记录,每个种类的记录, 或许说每个记录种类定义了一组字段(属性) 。表的列对应记录种类的属性。表能够储存在文件中。 能够使用逗号等来分开一个记录的各个属性, 而后用另一个分开符如回车换行符来分开不一样的记录。 关系模型向开发人员和用户隐蔽这些基层的实现细节。使用关系模型时, 可能会创立出有问题的方案, 比方可能会不用要的重复。 SQL的查问语言是非过程式的。一个查问的输入是一个或多个表,其输出则老是一个表。
from instructor
name=’ zhangsan’;
上边的查问的返回结果就是一个只有一列的表,列名为
name,表中的每一
行是职工的名字。
DDL语句可用于创立表、完好性拘束、断言等。创立表的
DDL语句不
光创立表,还会更新数据词典以记录表的元数据。
SQL其实不是通用的图灵机,
有些功能使用一般的应用程序能做到, 但用 SQL就不可以。SQL不可以接受用户输入、
不可以进行结果输出、也不支持网络通讯。这些功能可经过
C、C++、 Java 等内嵌
SQL的“宿主语言”来实现。使用这类方式与
DB交互的程序就称为应用程序。
有两种方式来在应用程序内履行 DML语句以接见数据库:
19 / 22
餐饮企业信息管理系统
(1)供给一组 API 以向 DB发送 DML和 DDL,并接收返回的结果。 C的 API
是 ODBC。
(2)扩展宿主语言的语法,以在宿主语言内部履行
DML。一般会在 DML语
言前加一个特别字符, 而后使用预办理器—— DML 预办理器——将 DML语句转变
成宿主语言内的一般函数调用。
使用数据库的目的是管理大量量的互相关系的信息。 数据库设计主
假如指 DBSchema的设计。公司级的数据库应用环境的设计波及更多的问题。本文只关注 DBSchema的设计。 较高抽象层次的 DB模型给 DB设计人员供给了一个观点性的框架来描绘用户的需求,以及如何组织数据库的结构以知足这些需
求。所以设计的第一步是从数据库用户的角度描绘对数据的需求, 这一步工作需要设计人员与行业内的专家以及用户进行深入的沟通才能达成。 这一步的成就是用户需求说明。第二步是选择数据模型, 并经过使用该模型供给的那些观点, 将前一步的需求说明变换成 DB的观点性方案。这一阶段被称为观点设计。设计人
员城检查这个方案以保证所有的数据需求都没有遗漏, 并且相互间不矛盾,此外,还能够删掉重复的内容。 这一阶段的主要任务是描绘数据以及它们之间的关系而
不是物理层次的储存细节。 从关系模型的角度来看, 观点设计告诉我们数据库中要记录哪些属性,以及如何组织这些属性以形成 DB中的各张表。记录哪些属性由业务决定,本文不会波及, 如何组织则是计算机科学领域内的问题。 主要有两种方式来解决这个问题:
(1)使用 ER模型;
(2)使用范式;
完好的观点设计描绘了公司的所有功能需求。 用户在“功能需求说明”文档
中描绘要对数据进行的操作,比方增修改查。 进行观点设计时, 设计人员应确
保数据库的方案能知足用户的功能需求
从抽象数据模型到实现详细的数据库
波及两阶段的设计。在逻辑设计阶段设计人员将高层次的观点模型 映照为将要实现的数据库系统所采纳的数据模型, 在接下来的物理设计阶段设计人员以上一阶段的数据模型为基础展开工作, 进行物理设计时要考虑数据库系统的文件组织以及内部储存结构等内容。
20 / 22
餐饮企业信息管理系统
ER模型一组基本对象——实体 以及这组实体之间的关系 构成。实体一现实世界中能与其余对象区分开来的物体或许东西。 比方一个人, 一个银行账户都
可视为一个实体。 在数据库中我们用一组属性来描绘一个实体。 关系是多个实体间的某种联系。 一个数据库的逻辑结构能够用 ER图来描绘。平时我们许多使用 UML来画 ER图。关系数据库设计中常用的另一种方法是规范化,其目的是设计与没有冗余但获守信息又很方便的数据库方案。 这类方法的主旨是依照某种范式来设计数据库。 为了判断某个关系的方案可否知足某种范式, 我们需要认识正在对其建模的现实世界的一些额外信息。不使用范式的数据库设计有好多问题,此中突出的问题有:
(1)信息重复储存。重复储存的信息一方面浪费空间,另一方面,更新时,所有重复的地点都要更新到。
(2)没法表示某些信息。 null 表示值不存在,或许未知。未知的值可能是
丢掉了(有值,可是我们不知道)也可能是不知道——不知道有没有值。 null 值办理起来比较麻烦,一般不要用它。
(1)数据库系统可分红储存管理器和查问办理器两大多半。
(2)数据库系统管理的数据量一般都特别大,因为内存中放不下这么多半
据,这些数据就寄存在硬盘中, 因为从硬盘读写数据比较慢, 所以数据库系统应
当以一种能尽量减少量据在磁盘和内存之间挪动的方式来组织要储存的数据。
查问办理器的作用在于帮助用户以方便、简单的方式来接见数据,使用
户能在视图一级展开工作,在保证性能的同时又能从基层的物理细节中挣脱出来。将用户编写的逻辑层的、非过程式的查问、更新语句翻译成高效的物理层的操作是 DBMS的工作。
储存管理器是数据库系统中基层的数据和
应用程序以及提交到系统的
查问语句 之间的接口。储存管理器负责与文件管理器交互。原始的数据是经过 操作系统的文件系统储存在磁盘上的, 储存管理器负责将 DML语句翻译成基层的
文件系统级的命令,所以储存管理器应该负责储存、获得、更新数据库中的数
据。 储存管理器一般包含以下几个部分:
(1)受权和完好性管理器。检查数据能否知足相应的完好性拘束,以及访
问数据的用户能否有相应的权限
21 / 22
餐饮企业信息管理系统
(2)事务管理器。用于保证即便系统崩溃整个系统也处于一致(正确)的状态,并且保证目前事务的履行过程不会与其余事务矛盾。
(3)文件管理器,管理磁盘空间的分派以及储存在磁盘中的信息的数据结
构。
(4)缓存管理器,负责从硬盘中读取数据到内存中,以及将哪些数据缓存
在内存中。缓存管理器能辅助数据库管理比内存大得多的数据, 是数据库系统的重要构成部分。
作为数据库的物理实现的一部分,储存管理器中采纳了几种数据结构:
(1)数据文件,储存数据库自己。
(2) 数据词典,储存数据库的结构的元数据,特别是数据库方案 Schema 的元数据。
(3) 索引,可用于提高数据接见速度。
查问办理器由以下几部分构成:
(1)DDL 翻译器,翻译 DDL语句,并将 DDL中的定义记入数据词典
(2)DML 编译器,将以查问语言表示的 DML语句翻译成查问履行引擎能够理解的较低层次的履行计划。 一个查问语句能够被翻译成多个返回结果同样的履行计划, DML翻译器经过进行查问优化来选择开支最低的计划
(3)查问履行引擎,履行 DML编译器翻译出来的基层的命令。
22 / 22
因篇幅问题不能全部显示,请点此查看更多更全内容