7.数据库设计

news2024/11/27 12:31:23

学习过程参考(后续章节同)
【公开课】数据库系统概论(王珊老师)(完结)
《数据库系统概论》思维导图
第7章 数据库设计 | 数据库知识点整理

梳理

在这里插入图片描述

名词解释

  • 数据库设计(database design):数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求。数据库设计的目标是为用户和各种应用系统提供一个信息基础设施和高效的运行环境
  • 数据字典:它是关于数据库中数据的描述,即元数据,而不是数据本身。数据字典是在需求分析阶段建立,在数据库设计过程中不断修改、充实、完善的。它在数据库设计中占有很重要的地位

  • 需求分析阶段:进行数据库设计首先必须准确了解与分析用户需求(包括数据与处理)。需求分析是整个设计过程的基础,也是最困难和最耗费时间的一步
  • 概念结构设计阶段:概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体数据库管理系统的概念模型
  • 逻辑结构设计阶段:逻辑结构设计是将概念结构转换为某个数据库管理系统所支持的数据模型,并对其进行优化
  • 物理结构设计阶段:物理结构设计是为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)
  • 数据库实施阶段:在数据库实施阶段,设计人员运用数据库管理系统提供的数据库语言及其宿主语言,根据逻辑设计和物理设计的结果建立数据库,编写与调试应用程序,组织数据入库,并进行试运行
  • 数据库运行和维护阶段:数据库应用系统经过试运行后即可投入正式运行。在数据库系统运行过程中必须不断地对其进行评估、调整与修改

课后题

1.试述数据库设计过程。

( 1)需求分析:准确了解与分析用户需求(包括数据与处理)。
( 2 )概念结构设计:通过对用户需求进行综合、归纳与抽象,形成一个独立于具体 DBMS 的概念模型。
( 3 )逻辑结构设计:将概念结构转换为某个 DBMS 所支持的数据模型,并对其进行优化。
( 4 )数据库物理设计:为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。
( 5 )数据库实施:设计人员运用 DBMS 提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。
( 6 )数据库运行和维护:在数据库系统运行过程中对其进行评价、调整与修改。
   这是一个完整的实际数据库及其应用系统的设计过程。不仅包括设计数据库本身,还包括数据库的实施、运行和维护。
   设计一个完善的数据库应用系统往往是上述六个阶段的不断反复。

2.详述数据库设计过程中形成的数据库模式

数据库结构设计的不同阶段形成数据库的各级模式,即:

  • 版本一

    • 在概念结构设计阶段,形成独立于各机器特点之外,独立于各个数据模型之外的概念模型
    • 在逻辑结构设计阶段,将概念结构设计阶段设计好的概念模型转化为与选用DBMS产品相适应的逻辑结构,形成数据库的逻辑模式,并根据用户的需求,安全性的考虑,建立必要的视图,形成数据库的外模式
    • 在物理结构设计阶段,根据关系数据库的特点和处理的需要,进行物理存储安排,建立索引,形成数据库的内模式
  • 版本二

    • 在概念设计阶段形成独立于机器特点,独立于各个DBMS产品的概念模式,在本篇中就是E-R图
    • 在逻辑设计阶段将E-R图转换成具体的数据库产品支持的数据模型,如关系模型,形成数据库逻辑模式;然后在基本表的基础上再建立必要的视图(View),形成数据的外模式
    • 在物理设计阶段,根据DBMS特点和处理的需要,进行物理存储安排,建立索引,形成数据库内模式。

3.需求分析阶段 设计目标&调查内容

  • 需求分析阶段的设计目标是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。
  • 调查的内容是“数据”和“处理”,即获得用户对数据库的如下要求:
    • 信息要求。指用户需要从数据库中获得信息的内容与性质。由信息要 求可以导出数据要求,即在数据库中需要存储哪些数据。
    • 处理要求。指用户要完成什么处理功能,对处理的响应时间有什么要求,处理方式是批处理还是联机处理。
    • 安全性与完整性要求。

4.数据字典的内容&作用

  • 数据字典的内容通常包括:
    数据项、数据结构、数据流、数据存储、处理过程5个部分。其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构。数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。
  • 数据字典的作用:
    数据字典是关于数据库中数据的描述,在需求分析阶段建立,是下一步进行概念设计的基础,并在数据库设计过程中不断修改、充实、完善。

5.什么是数据库的概念设计?其特点&设计策略?

  • 概念结构是信息世界的结构,即概念模型
  • 其主要特点是
    • 能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求。是对现实世界的一个真实模型。
    • 易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库的设计成功的关键。
    • 易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充。
    • 易于向关系、网状、层次等各种数据模型转换。
  • 概念结构的设计策略通常有四种
    • 自顶向下。即首先定义全局概念结构的框架,然后逐步细化;
    • 自底向上。即首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构;
    • 逐步扩张。首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构;
    • 混合策略。即将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上策略中设计的各局部概念结构。

6.定义并解释概念模型中以下术语

实体

客观存在并可以相互区分的事物叫实体

实体型

具有相同属性的实体具有相同的特征和性质,用实体名及其属性名集合来抽象和刻画同类实体,称为实体型

实体集

同型实体的集合称为实体集

属性

表中的一列即为一个属性

码就是唯一标识实体的属性,他是整个实体集的性质,而不是单个实体的性质。(针对关系模式,而非只要某些关系)

实体-联系图(E-R图)

用来描述实现世界的概念模型

7.学校中有若干系,每个系有若干班级和教研室,每个教研室有若干教员,其中有的教授和副教授每人各带若干研究生;每个班有若干学生,每个学生选修若干课程,每门课可由若干学生选修。请用 E-R 图画出此学校的概念模型。

在这里插入图片描述

(一对多:每个A有若干B
多对多:每个A有若干B,每个B有若干A)

8.某工厂生产若干产品,每种产品由不同的零件组成,有的零件可用在不同的产品上,这些零件由不同的原材料制成,不同零件所用的材料可以相同。这些零件按所属的不同产品分别放在仓库中,原材料按照类别放在若干仓库中。请用E-R图画出此工厂产品、零件、材料、仓库的概念模型。

在这里插入图片描述

(每种产品由不同的零件组成&零件按所属的不同产品分别存放在仓库
➩仓库和零件多对多
材料按类别放在若干仓库
➩仓库和材料一对多

指定了实体,勿重勿漏)

9.数据库的逻辑结构设计&其设计步骤

  • 数据库的逻辑结构设计就是把概念结构设计阶段设计好的基本 E 一 R 图转换为与选用的 DBMS 产品所支持的数据模型相符合的逻辑结构。
  • 设计步骤为 :
    ( l )将概念结构转换为一般的关系、网状、层次模型;
    ( 2 )将转换来的关系、网状、层次模型向特定 DBMS 支持下的数据模型转换;
    ( 3 )对数据模型进行优化。

10.试把习题7和习题8中的E-R图转换为关系模型。

系(系号,系名,学校名)
班级(班级号,班级名,系号)
教研室(教研室号,教研室,系号)
学生(学号,姓名,学历,班级号,导师职工号)
课程( 课程号,课程名)
教员(职工号,姓名,职称,教研室号)
选修(学号,课程号,成绩)

产品(产品号,产品名,仓库号)
零件(零件号,零件名)
原材料(原材料号,原材料名,类别,仓库号,存放量)
仓库(仓库号,仓库名)
产品组成(产品号,零件号,使用零件量)
零件组成(零件号,原材料号,使用原材料量)
零件储存(零件号,仓库号,存储量)
(注意材料存放的合并方式)

11.试用规范化理论中有关范式的概念分析习题7设计的关系模型中各个关系模型的候选码,她们属于第几范式?会产生什么更新异常?

习题七中各个关系模型的每一个决定因素中均含有码,候选码中只含有一个码,故属于BCNF。

12.规范化理论对数据库设计有什么指导意义

规范化理论为数据库设计人员判断关系模式的优劣提供了理论标准,可用以指导关系数据模型的优化,用来预测模式可能出现的问题,为设计人员提供了自动产生各种模式 的算法工具,使数据库设计工作有了严格的理论基础。

13.数据库物理设计的内容和步骤

  • 数据库在物理设备上的存储结构与存取方法称为数据库 的物理结构,它依赖于选定的数据库管理系统。数据库物理设计的主要内容是为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构。
  • 数据库的物理设计步骤通常分为两步:
    • 确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构
    • 对物理结构进行评价,评价的重点使时间效率和空间效率。

14.数据输入在实施阶段的重要性是什么?如何保证输入数据的正确性

  • 数据库是用来对数据进行存储、管理和应用的,因此必须在实施阶段必须将原有系统中的历史数据输入到数据库。数据量一般都很大,而且数据来源部门中的各个不同的单位。数据组织方式、结构和格式都与新设计的数据库系统有相当的差距,组织数据录入就各类源数据从各个局部应用中抽取出来,分类转换,最后综合成复合新设计的数据结构的形式,输入数据库。因此这样的数据转换、组织入库的工作是相当费力费时的工作。特别是原系统是手工输入数据处理系统时,各类数据分散在不同的原始表格、凭证、单据中,数据输入工作量更加庞大。
  • 保证数据输入正确性的方法:
    为提高数据输入工作的效率和质量,应该针对具体的应用环境设计一个数据录入子系统,由计算机来完成数据库入库的任务。在源数据入库之前要采用多种方法对其进行检验,以防止不正确的数据入库。

14.数据库的再组织和重构造是什么?为什么要进行数据库的再组织和重构造

  • 数据库的再组织是指按原设计要求重新安排存储位置、回收垃圾、减少指针链等以提高系统性能。
    数据库的重构造则是指部分修改数据库的模式和内模式,即修改原设计的逻辑和物理结构。数据库的再组织是不修改数据库的模式和内模式的。
  • 进行数据库的在组织和重构造的原因:数据库与运行一段时间后,由于记录不断增删改,会使数据库的物理存储情况变坏,降低了数据的存取效率,数据库性能下降,这时DBA就要对数据库进行重组织。DBMS一般都提供与数据重组织的实用程序。数据库的应用环境常常发生变化,如增加新的应用和实体,取消某些应用,有的实体与实体之间的联系也发生了变化,使原有的数据库设计不能满足新的需求,需要调整数据库的模式和内模式,这就要进行数据库重构造。

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

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

相关文章

从2023年31省级政府工作报告看数据安全赛道 | 附下载

数字经济是支撑我国经济增长的新动能。据中国信息通信研究院数据,2021年我国数字经济规模超45万亿元、在GDP已占比40%,到2025年我国数字经济规模预计超60万亿元。春节前夕,地方两会陆续召开,从各地发布的2022年经济社会发展成绩来…

NodeJS与npm版本不一致时降级npm的方法

首先查看 Node.js 与 npm 版本对应关系:Node.js与npm版本查看。 安装 cnpm: npm install -g cnpm 查看一下 npm 和 cnpm 的镜像: npm config get registry cnpm config get registry 2 如果不是 https://registry.npm.taobao.org/ 的话就修…

【C++】CC++内存管理

就是你被爱情困住了?Wake up bro! 文章目录一、C/C内存分布二、C语言中动态内存管理方式三、C中内存管理方式1.new和delete操作内置类型2.new和delete操作自定义类型(仅限vs的底层实现机制,new和delete一定要匹配使用,…

【Linux】TCP网络编程流程

TCP网络编程流程 上一节博文我们提到了网络编程的基本流程 现在我们来了解TCP网络编程的流程 在这之前我们先要了解TCP 首先TCP是一种传输控制协议 在因特网协议族(Internet protocol suite)中,TCP层是位于IP层之上,应用层之…

MIT 6.S965 韩松课程 02

Lecture 02: Basics of Neural Networks TitleBasics of Neural NetworksLecturerSong HanDate09/13/2022Note AuthorGuangxuan Xiao (xgx)DescriptionReview the basics of deep learning and introduce efficiency metrics for neural networks. 回顾深度学习的基础知识&…

SparkSQL 核心编程

文章目录SparkSQL 核心编程1、新的起点2、SQL 语法1) 读取 json 文件创建 DataFrame2) 对 DataFrame 创建一个临时表3) 通过SQL语句实现查询全表3、DSL 语法1) 创建一个DataFrame2) 查看DataFrame的Schema信息3) 只查看"username"列数据4) 查看"username"列…

Elasticsearch(九)搜索---搜索辅助功能(下)--搜索性能分析

一、前言 上篇文章我们学习了ES的搜索辅助功能的一部分–分别是指定搜索返回的字段,搜索结果计数,分页,那么本次我们来学习一下ES的性能分析相关功能。 二、ES性能分析 在使用ES的过程中,有的搜索请求的响应比较慢,…

ChatGPT的火爆出圈,你对它有几分了解?

文章目录1.ChatGPT是什么?2.ChatGPT能做什么?2-1.什么是自然语言模型?3.ChatGPT带来的评价4.了解完ChatGPT之后,你会有什么反思?4-1.为什么微软不自己研发ChatGPT?4-2.Elon Musk为什么退出OpenAI公司&#…

分享116个JS焦点图代码,总有一款适合您

分享116个JS焦点图代码,总有一款适合您 116个JS焦点图代码下载链接:https://pan.baidu.com/s/1BKblAjuE98y5HlLAXZIndQ?pwdphgw 提取码:phgw Python采集代码下载链接:https://wwgn.lanzoul.com/iKGwb0kye3wj import os impo…

全国青少年编程等级考试scratch二级真题2022年9月(含题库答题软件账号)

青少年编程等级考试scratch真题答题考试系统请点击电子学会-全国青少年编程等级考试真题Scratch一级(2019年3月)在线答题_程序猿下山的博客-CSDN博客_小航答题助手1.数列:1,2,3,4,6,…

NLP学习笔记(八) GPT简明介绍

大家好,我是半虹,这篇文章来讲 GPT\text{GPT}GPT (Generative Pre-Training\textbf{G}\text{enerative}\ \textbf{P}\text{re-}\textbf{T}\text{raining}Generative Pre-Training) 实际上,GPT\text{GPT}GPT 包括一系列论文,具体有…

探针台常见的故障及解决方法

症状、 可能原因、 解决方法 移动样品后画面变模糊 —显微镜不垂直,调垂直显微镜 样品台不水平 —调水平样品台 显微镜视场亮度不足,边缘切割或看不到像—转换器不在定位位置上 把转换器转到定位位置上 管镜转盘不在定位位置上 —把管镜转盘转到定…

SpringCloud 中 Config、Bus、Stream、Sleuth

文章目录🚏 第十三章 分布式配置中心🚬 一、Config 概述🚬 二、Config 快速入门🚭 config-server:🛹 1、使用gitee创建远程仓库,上传配置文件🛹 2、导入 config-server 依赖&#x1…

【概念辨析】整型提升的深入理解(手画图解)

整型提升是一个小的知识点,但是请继续学习,保持空杯心态! 目录 文章目录 前言 一、整型提升是什么? 二、发生整型提升的情况 1.字节数比int少的内置类型进行的整型提升 2.整型提升的规则 图解: 总结 前言 整型提升也是…

ubuntu18.04下交叉编译 nginx源码(支持推送H265的rtmp和http-flv)

ubuntu18.04下交叉编译 nginx源码(支持推送H265的rtmp和http-flv)适合在aarch64-linux-gnu平台下的交叉编译一、源码下载准备二、执行configure三、解决执行configure时遇到的出错问题1、checking for C compiler ... found but is not working2、error:…

Vue-第一天 前端工程化与 webpack

前端工程化与 webpack一、前端工程化1. 小白眼中的前端开发 vs 实际的前端开发2. 什么是前端工程化3. 前端工程化的好处4. 前端工程化的解决方案二、webpack 的基本使用1. 什么是 webpack2. 创建列表隔行变色项目3. 在项目中安装 webpack4. 在项目中配置 webpack4.1 mode 的可选…

Homekit智能家居DIY设备-智能通断开关

智能通断器,也叫开关模块,可以非常方便地接入家中原有开关、插座、灯具、电器的线路中,通过手机App或者语音即可控制电路通断,轻松实现原有家居设备的智能化改造。 随着智能家居概念的普及,越来越多的人想将自己的家改…

【微服务】Elasticsearch集群介绍搭建(六)

🚗Es学习第六站~ 🚩Es学习起始站:【微服务】Elasticsearch概述&环境搭建(一) 🚩本文已收录至专栏:微服务探索之旅 👍希望您能有所收获 一.引入 单机的elasticsearch做数据存储,必然面临两个…

暗月内网渗透实战——项目七

首先环境配置 VMware的网络配置图 环境拓扑图 开始渗透 信息收集 使用kali扫描一下靶机的IP地址 靶机IP:192.168.0.114 攻击机IP:192.168.0.109 获取到了ip地址之后,我们扫描一下靶机开放的端口 靶机开放了21,80,999,3389,5985,6588端口…

20、CSS中单位:【px和%】【em和rem】【vw|vh|vmin|vmax】的区别

CSS中的px 和 % px (pixels) 是固定单位,也可以叫基本单位,代表像素,可以确保元素的大小不受屏幕分辨率的影响。 % (percentage) 是相对单位,代表元素大小相对于其父元素或视口(viewport)的大小的百分比。使用百分比可…