【数据库】第七章 数据库设计

news2024/11/25 4:28:27

第七章数据库设计

数据库设计概述

在这里插入图片描述
在这里插入图片描述

数据库设计的基本步骤

  • 需求分析
  • 概念结构设计
  • 逻辑结构设计
  • 物理结构设计
  • 数据库实施
  • 数据库运行和维护

需求分析

收集需求,理解需求

收集各个角色的需求

概念数据库设计

建立概念模型 ,E-R图/IDEF1x图

消除冲突:

  • 属性冲突

  • 结构冲突

  • 命名冲突

  • 先局部,后全局

  • 先全局,后局部

逻辑数据库设计

建立逻辑模型,关系模式

包括全局模式和用户模式

E-R图转换成逻辑模式

基本转换规则

  • 复合属性合成一个属性,或拆成多个属性

  • 多值属性新建一个关系

  • 联系的转换

    ​ 二元联系

    • 一对一:将一方的关键字作为另一方的属性
    • 一对多:将一方的关键字作为多方的属性
    • 多对多:新建关系,属性为双方的关键字

物理数据库设计

根据DBMS确定数据库的存储结构,文件结构:入散列文件,B-tree文件等

E-R模型

Entity-Relationship Model


在这里插入图片描述

实体

客观存在并且可以相互区分的事物

注意区分 实体型 与 实体例

在这里插入图片描述

属性

  • 单一属性 ,复合属性(复合属性要转化成单一属性)
  • 单值属性,多值属性( 多值属性要转化成单值属性)
  • 可空值属性,非空值属性
  • 导出属性

关键字/码:唯一区分每一个实例的属性或属性组

联系

参与发生联系的实体的数目,称为联系的

  1. 一个实体内部的一元联系

  2. 两个实体之间的二元联系

  • 1对1:实体A的实例只能和实体B的一个实例发生联系

  • 1对多

  • 多对多

在这里插入图片描述

基数:实体实例之间联系的数量

联系可能不止一个,联系也需要命名

  1. 三个实体之间的三元联系
  • 完全参与联系:即该端实例至少有一个参与到联系中,最小基数为1,最大基数为m (1…m)
  • 部分参与联系:即该端实例可以不参与到联系中,最小基数为0,最大基数为m (0…m)

E-R 模型的表达方法

chen 方法

在这里插入图片描述
在这里插入图片描述

Crow’foot 方法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

powerdesigner

安装
  • 链接:https://pan.baidu.com/s/1QzM_2ncK-qtyKuedMphnqA
    提取码:test
  • 视频教程:PowerDesigner的下载与安装(含破解)_哔哩哔哩_bilibili

IDEF1x

(哈尔滨工业大学)数据库系统(中):建模与设计_哔哩哔哩_bilibili

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/373685.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【JDK8新特性之日期时间API-案例实操】

一.JDK8新特性之日期时间API-案例实操 之前我们学习了Stream流、Lambda表达式以及方法引用等相关的内容,如果想学习的同学可以看一下之前的文章,接下来我们一起学习一下关于JDK8中新日期时间API的使用。 二.JDK中原始日期时间存在的问题 设计不合理&…

VC++随鼠标移动显示坐标和坐标映射模式学习

VC6,新建一个单文档工程; 把这两个加到视类头文件; CPoint m_ptOut; //用来保存鼠标坐标 CString strPosition; //用来保存输出的内容 视类CPP的构造函数中初始化, m_ptOut.x 0; m_ptOut.y 0; 用类向导为视类…

Boosting Crowd Counting via Multifaceted Attention之人群密度估计实践

这周闲来无事,看到一篇前不久刚发表的文章,是做密集人群密度估计的,这块我之前虽然也做过,但是主要是基于检测的方式实现的,这里提出来的方法还是比较有意思的,就拿来实践一下。论文在这里,感兴…

chatGPT模型原理

文章目录简介BertGPT 初代GPT-2GPT-3chatGPT开源ChatGPT简介 openai 的 GPT 大模型的发展历程。 Bert 2018年,自然语言处理 NLP 领域也步入了 LLM 时代,谷歌出品的 Bert 模型横空出世,碾压了以往的所有模型,直接在各种NLP的建模…

Java中的反射使用

1、获取Class对象的三种方式 1、对象调用Object类的getClass()方法(对象.getClass()) 2、调用类的class属性(类名.class) 3、调用Class类的静态方法(Class.forName(“包名.类名”))常用 Student类 package…

Xcode Developer Document 开发者文档

总目录 iOS开发笔记目录 从一无所知到入门 文章目录IntroDeveloper Documentation 打开方式菜单栏点击 | 快捷键方式另一种打开方式Intro 2016年我在学校学Java的时候,要查某个Java类/方法的用法还得自己手动下载一种.chm格式的开发文档文件&#xff0c…

python爬虫常见错误

python爬虫常见错误前言python常见错误1. AttributeError: WebDriver object has no attribute find_element_by_id1. 问题描述2. 解决办法2. selenium:DeprecationWarning: executable_path has been deprecated, please pass in1. 问题描述2. 解决办法3. 下载了包…

4、算法MATLAB---认识矩阵

认识矩阵1、矩阵定义和基本运算1.1 赋值运算符:1.2 等号运算符:1.3 空矩阵1.4 一行一列矩阵1.5 行矩阵(元素用空格或逗号分隔)1.6 列矩阵(分号表示换行)1.7 m行n列的矩阵:行值用逗号间隔&#x…

SPI总线设备驱动模型

SPI总线设备驱动模型 文章目录SPI总线设备驱动模型参考资料:一、平台总线设备驱动模型二、 数据结构2.1 SPI控制器数据结构2.2 SPI设备数据结构2.3 SPI设备驱动三、 SPI驱动框架3.1 SPI控制器驱动程序3.2 SPI设备驱动程序致谢参考资料: 内核头文件&…

角角的Qt自学日记:Qt的安装

目录 2. 打开下载器,输入账号和密码,然后单击下一步: 3. 分别单击2个单选框,其它不用管,直接单击下一步: 4. 先设置一下安装目录,因为现在Qt基本都好几个g,建议找个内存够的盘。然…

尝试用程序计算Π(3.141592653......)

文章目录1. π\piπ2. 用微积分来计算π\piπ2.1 原理2.2 代码2.3 结果2.4 分析1. π\piπ π\piπ的重要性或者地位不用多说,有时候还是很好奇,精确地π\piπ值是怎么计算出来的。研究π\piπ的精确计算应该是很多数学家计算机科学家努力的方向&#xf…

【老卫搬砖】034期:HarmonyOS 3.1 Beta 1初体验,我在本地模拟器里面刷短视频

今天啊打开这个DevEco Studio的话,已经提示有3.1Beta1版本的一个更新啊。然后看一下它的一些特性。本文也演示了如何在本地模拟器里面运行HarmonyOS版短视频。 主要特性 新特性包括: Added support for Windows 11 64-bit and macOS 13.x OSs, as well…

vue中render函数的作用和参数(vue2中render函数用法)

render 函数是 Vue2.x 新增的一个函数、主要用来提升节点的性能,它是基于 JavaScript 计算。使用 Render 函数将 Template 里面的节点解析成虚拟的 Dom 。Vue 推荐在绝大多数情况下使用模板来创建 HTML。然而在一些场景中,需要 JavaScript 的完全编程能力…

RK3568平台开发系列讲解(驱动基础篇)GIC v3中断控制器

🚀返回专栏总目录 文章目录 一、什么是GIC二、GIC v3中断类型三、GIC v3基本结构3.1、Distributor3.2、CPU interface简介3.3、Redistributor简介3.4、ITS(Interrupt translation service)4、中断状态和处理流程沉淀、分享、成长,让自己和他人都能有所收获!😄 📢ARM多核…

在线文档技术-编辑器篇

这是在线文档技术的第二篇文章,本文将对目前市面上所有的主流编辑器和在线文档进行一次深入的剖析和研究,从而使大家对在线文档技术有更深入的了解,也让更多人能够参与其开发与设计中来。 注意:出于对主流文档产品的尊重&#xf…

【Linux环境配置】7. Linux部署code-server

安装 code-server 两种方法,一种是在线安装,另一种是本地安装。因为主机访问github可能会报443错误,因此这里我推荐使用本地安装方法! 本地安装方法 进入github,搜索code-server找到项目地址:https://gi…

链表(一):移除链表元素、设计链表等力扣经典链表题目

203.移除链表元素相关题目链接:力扣 - 移除链表元素题目重现给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val val 的节点,并返回 新的头节点 。思路链表的删除操作如上图所示,我们需要先找到要删除的…

不需要高深技术,只需要Python:创建一个可定制的HTTP服务器!

目录 1、编写服务端代码,命名为httpserver.py文件。 2、编写网页htmlcss文件,命名为index.html和style.css文件。 3、复制htmlcss到服务端py文件同一文件夹下。 4、运行服务端程序。 5、浏览器中输入localhost:8080显示如下: 要编写一个简单的能发布…

UML类图中的类图、接口图、关联、聚合、依赖、组合概念的解释

文章目录UML类图依赖和关联的主要区别UML类图 类&#xff1a;类有三层结构 第一层&#xff1a;类的名字第二层&#xff1a;类的属性第三层&#xff1a;类的方法 接口&#xff1a;接口跟类相似&#xff0c;不过多了一个<<interface>>来表示它是一个接口 第一层&a…

华为OD机试用Python实现 -【统一限载货物数最小值】(2023-Q1 新题)

华为OD机试题 华为OD机试300题大纲统一限载货物数最小值题目描述输入描述输出描述说明示例一输入输出说明示例二输入输出说明Python 代码实现算法逻辑华为OD机试300题大纲 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高。 华为 OD 清单查…