数据库——设计过程

数据库设计是完成一个系统很重要的一步。下面来介绍一下数据库设计的过程。

数据库设计分6个阶段:需求分析、概念设计、逻辑设计、物理设计、数据库实施、数据库运行与维护,详细内容请见:数据库设计

在这里我只简单的介绍一下我理解的概念设计、逻辑设计2个阶段。



概念设计:根据用户需求,设计数据库的概念模型

概念模型的抽象级别最高,特点如下:

●表达了数据的整体逻辑结构

●从用户需求的角度出发,对数据建模

●独立于硬件和软件

●是数据库设计人员与用户之间进行交流的工具

概念模型主要是实体联系模型(ER):ER模型简单,易理解,真实地反映用户的需求;

与计算机无关,用户容易接受。但是ER模型只能说明实体间语义的联系,还不能进一步

说明详细的数据结构

ER模型基本元素:实体(Entity)、联系(Relationship)、属性(Attribute)

一个联系涉及到实体集的个数,成为联系的元数或度数,分为一元联系、二元

联系(1:1,1:N,M:N)、三元联系。

ER模型设计:定义实体,定义联系,分配属性


逻辑设计:据转换规则,把概念模型转换为数据库的逻辑模型,根据用户业务特点,

设计不同的外部模型,给程序员用。

逻辑模型的特点:

●表达了数据的整体逻辑结构,是设计人员对整个应用项目数据库的全面描述

●是从数据库实现的观点出发,对数据建模

●独立于硬件,依赖于软件

●是数据库设计人员与应用程序员之间进行交流的工具

逻辑模型有:层次,网状,关系模型3种。

关系模型:用二维表格表示实体集,用关键码表示实体之间联系的数据模型

超键、候选键、主键、外键


ER模型转换为关系模型:

1.(实体类型的转换):将每个实体类型转换为关系模式,实体的属性即为关系

模式的属性,实体标识符即为关系模式的键

2.(联系类型的转换):根据不同情况处理,以二元联系为例

(1)实体间联系为1:1,可以在两个实体类型转换成的两个关系模式中

任意一个关系模式的属性中加入另一个关系模式的键(作为外键)和联系类型的属性

(2)1:N,在N端实体类型转换成的关系模式中加入1端实体类型的键

(作为外键)和联系类型的属性

(3)M:N,将联系类型也转换为关系模式,其属性为两端实体类型的键

(作为外键)加上联系类型的属性,而键为两端实体键的组合



学生(学号,姓名,性别,年级,系)

课程(课程号,课名,学分,学时,教工号)

教师(教工号,姓名,性别,职称,职务)

选课(学号,课程号,成绩)

讲授(课程号,教工号)


除此之外还要满足三范式

第一范式:关系模式R的每个关系r的属性值是不可分的原子值

第二范式:在满足第一范式的前提下每个非主属性完全函数依赖于候选键

第三范式:在满足第一范式的前提下每个非主属性都不传递依赖于候选键(2个非主

键字段的数值之间不存在函数依赖关系)


详细范式规范请见: 数据库的设计范式规范化



  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 14
    评论
酒店管理系统是一个常见的数据库课程设计项目,它涉及到数据库设计、数据模型、触发器、前后端连接等多个方面。以下是一个简单的介绍: 1. 数据库设计:酒店管理系统的数据库设计是整个项目的基础。它包括定义表、字段、主键、外键等。可以使用E-R图来表示实体和关系,以及流程图和模块图来表示系统的功能和模块。 2. 触发器:触发器是数据库中的一种特殊对象,它可以在特定的数据库操作(如插入、更新、删除)发生时自动执行一些操作。在酒店管理系统中,可以使用触发器来实现一些业务逻辑,例如在预订房间时自动更新房间的状态。 3. Python编程:在酒店管理系统中,可以使用Python编程语言来实现一些功能,例如与数据库的交互、数据处理、界面设计等。同时,还可以使用一些第三方库来简化开发过程,例如Django、Flask等。 4. 前后端连接:酒店管理系统通常包括一个前端界面和一个后端数据库。前端界面用于用户交互和数据展示,后端数据库用于存储和管理数据。可以使用Python的Web框架(如Django)来实现前后端的连接,通过HTTP请求和数据库交互来实现数据的增删改查。 总结起来,酒店管理系统是一个综合性的数据库课程设计项目,涉及到数据库设计、触发器、Python编程和前后端连接等多个方面。通过这个项目,你可以学到数据库设计的基本原理和方法,以及如何使用Python来实现一个完整的应用系统。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值