当前位置: 首页 > article >正文

第8讲 数据库的设计与实施

一、数据库设计的特点1.数据库设计方法新奥尔良方法基于E-R模型的数据库设计方法基于3NF的设计方法对象定义语言(Object Definition Language,ODL)方法2.数据库设计的基本步骤1需求分析获取需求是整个设计过程的基础。进行数据库设计时首先必须准确了解与分析用户的需求弄清系统要达到的目标和实现的功能。2概念结构设计概念结构设计的主要任务是根据系统分析建立的业务对象模型(实体对象)形成一个独立于具体DBMS的概念模型。此步骤即设计E-R模型。3)逻辑结构设计逻辑结构设计阶段的主要任务是将概念结构转换为某个DBMS所支持的数据模型对关系数据库来说就是将E-R模型转化为关系模型最终生成表4)物理结构设计数据库物理结构设计的主要任务是为逻辑数据模型选取一个最适合应用环境的物理结构包括数据存储结构和存取方法。5)数据库实施在数据库实施阶段中系统设计人员要运用DBMS提供的数据操作语如SOL语言以及宿主语言根据数据库的逻辑设计和物理设计的结果建立数据库、编制与调试应用程序、组织数据人库并进行系统试运行。6)数据库运行和维护数据库应用系统经过试运行后即可投入正式运行。在数据库系统运行过程中必须不断地对其结构性能进行评价、调整和修改。8.1 数据库设计概述数据库设计的含义是指根据用户需求研制数据库结构的过程具体地说就是根据用户的信息需求、处理需求和数据库的处理环境构造最优的数据库模式建立数据库及其应用系统使之能有效地存储数据满足用户的信息需求和处理需求数据库设计的特点是一种“反复探寻逐步求精”的过程反复性试探性多阶段自身的特点数据库建设需将(三分)技术、(七分)管理和(十二分)基础数据相结合需将结构设计与行为设计相结合数据库设计涉及多学科领域数据库系统生存期8.2 数据库规划1. 主要工作确定数据库系统在企业或部门的计算机系统中的地位以及各个数据库之间的联系对建立数据库的必要性和可行性进行分析2. 结束标记可行性分析报告数据库系统规划纲要8.3 需求分析主要任务---数据库设计的基础和起点通过详细调查现实世界要处理的对象充分了解原系统工作概况明确用户的各种需求然后在此基础上确定新系统的功能。主要需求有:信息需求处理需求安全性和完整性方面的需求结束标记需求分析报告需求分析的步骤需求调查明确调查的目的、内容和方式手段:检查文档面谈观察业务的运转文献研究问卷调查·自顶向下分析整理业务流程分析与表示(数据流图)需求信息的补充描述(数据字典等)需求分析说明书评审数据流图数据字典8.4 概念结构设计主要任务在需求分析的基础上通过对用户需求进行分析、归纳、抽象形成一个独立于具体DBMS和计算机硬件结构的整体概念结构即概念模式常用方法E-R模型设计策略自底向上注意:重点在于“信息”结构的设计!!!“处理”需求则由行为设计来考虑主要设计步骤设计局部E-R模式合并局部E-R模式优化全局E-R模式8.5 逻辑结构设计E-R模型到关系模式的转换实体型的转换关系模式中包含实体型的所有属性联系的转换1:1:将联系的属性和其中一个实体型对应关系模式的主键属性加入到另一个关系模式中1:n:将联系的属性和1端对应关系模式的主键属性加入到n端对应的关系模式中n:m:将联系转换为一个关系型其属性有联系的属性和前面两个关系模式的主键属性构成关系模式的优化规范化处理分析数据依赖对数据依赖进行极小化处理消除冗余的联系确定各关系模式的范式按照处理要求对某些模式进行合并或分解模式的评价与修正根据需求分析的结果检查规范化后的关系模式集合是否满足用户的功能要求使用更符合用户习惯的别名定义不同级别的视图简化用户对系统的使用为了节省存储空间可修正关系模式Power DesignerPowerDesigner是Sybase公司生产的一个CASE工具集它不仅支持数据库模型设计的全过程同时为面向对象分析、设计与开发以及企业业务流程规划提供了有力的工具。更具特色的是它将对象设计、数据库设计和关系数据库生成无缝地集成起来提供了非常强大的数据库设计和生成能力。8.6 物理结构设计聚簇设计索引设计分区设计确定系统配置参数评价物理结构设计8.7 数据库的实施和维护数据库的建立数据库模式的建立数据加载数据库的调整关系模式、视图、索引、磁盘分区等应用程序编制与调试使用模拟数据进行调试数据库系统的试运行功能测试性能测试数据库系统的运行和维护数据库的转储和恢复维持数据库的完整性与安全性监测并改善数据库性能数据库的重组和重构(物理)8.8 数据库应用系统的结构单用户结构以单台微型计算机为其运行环境是最简单的一种数据库应用系统结构整个数据库系统都装在一台计算机上所有操作由一个用户独占完成集中式结构一个主机带多个终端的多用户数据库应用系统结构(主从式数据库系统结构)整个数据库系统都装在主机上主机操作系统多数是分时系统多个用户通过终端公共总线连在一起并发地存取数据库共享数据资源二层客户机/服务器(C/S)结构应用系统的功能在客户机和服务器之间进行重新划分客户机主要负责应用逻辑的处理、用户界面的处理和显示与服务器连接服务器负责向客户机提供数据服务实现数据管理和事务逻辑三层客户机/服务器(B/S)结构数据库应用系统分为三层:数据访问层、业务逻辑层和表示层三个层次分别放在各自不同的硬件系统上具有高灵活性能适应客户及数据的增加和处理负荷的变动数据访问层:数据管理、事务逻辑(数据库服务器)业务逻辑层:应用逻辑(应用服务器)表示层:表达逻辑(客户机)

相关文章:

第8讲 数据库的设计与实施

一、数据库设计的特点1.数据库设计方法新奥尔良方法基于E-R模型的数据库设计方法基于3NF的设计方法对象定义语言(Object Definition Language,ODL)方法2.数据库设计的基本步骤1)需求分析获取需求是整个设计过程的基础。进行数据库设计时首先必须准确了解与分析用户的…...

Springboot+vue宠物领养救助平台的设计与实现

文章目录前言源码获取(稀缺资源,尽快转存到自己网盘,防止失效)详细视频演示具体实现截图后端框架SpringBoot前端框架Vue持久层框架MyBaits成功系统案例:参考代码数据库前言 博主介绍:CSDN特邀作者、985高校计算机专业…...

Springboot+vue房屋租赁管理系统的设计与实现

文章目录前言源码获取详细视频演示具体实现截图后端框架SpringBoot前端框架Vue持久层框架MyBaits成功系统案例:数据库前言 博主介绍:CSDN特邀作者、985高校计算机专业毕业、现任某互联网大厂高级全栈开发工程师、Gitee/掘金/华为云/阿里云/GitHub等平台持续输出高质…...

Windows下5分钟搞定内网穿透:qydev和飞鸽对比实测(附避坑指南)

Windows内网穿透实战:从零到精通的避坑与效率指南 最近在帮几个刚入行的朋友搭建本地开发环境的外部访问时,发现大家普遍对“内网穿透”这个概念既熟悉又陌生。熟悉的是,几乎每个开发者都遇到过需要临时把本地的Web服务、数据库或者测试API暴…...

全面指南:探索域名解析的五大实用方法

1. DNS查询:互联网的“电话本”是如何工作的? 每次你在浏览器里输入“www.baidu.com”并按下回车,到页面加载出来,这背后其实发生了一系列精密的“寻址”操作。这个把好记的域名翻译成计算机能识别的IP地址(比如“14.2…...

避坑指南:Simulink Scope导出数据总出错?这5个参数设置90%的人没搞对

避坑指南:Simulink Scope导出数据总出错?这5个参数设置90%的人没搞对 如果你经常和Simulink打交道,尤其是需要把Scope里那些漂亮的波形数据导出来,在MATLAB里做进一步分析、画报告图,或者存档,那你大概率踩…...

别让这些软件,偷走你新学期的效率!电脑卡顿元凶排查指南。

“开学才三天,电脑打开Word都要转圈圈!”“PPT做到一半直接卡死,差点想砸电脑!”这几天小A收到不少类似的私信:明明上学期还好好的,怎么新学期一开电脑就卡成PPT?(图片由AI生成&…...

开学焕新,一步到位!这台「全能学霸本」,让你从宿舍赢到图书馆

回想一下当年选电脑的自己,是不是满脑子的“性能拉满,游戏全开”,非高性能游戏本不选?结果呢,明明也不怎么玩游戏,愣是每天背着不够轻便的笔记本爬四五层楼,去教室、去图书馆、去自习室。还没毕…...

保姆级教程:在Ubuntu 22.04上为ROS2 Humble切换Cyclone DDS(含网卡指定技巧)

保姆级实战:在Ubuntu 22.04上为ROS2 Humble深度优化Cyclone DDS配置 最近在实验室调试一个多机器人协同项目,节点间通信时不时出现延迟抖动,排查了半天才发现,默认的通信中间件在复杂的网络拓扑下有点“力不从心”。和几位深耕机器…...

MobileNetV2实战:如何在树莓派上部署轻量级图像分类模型(附PyTorch代码)

从理论到实战:在树莓派上部署并极致优化MobileNetV2图像分类模型 当你在树莓派上尝试运行一个标准的ResNet-50模型时,可能会发现它慢得令人沮丧——推理一张224x224的图像可能需要数秒,这完全无法满足实时应用的需求。这正是轻量级神经网络架…...

华为防火墙+CentOS搭建GRE隧道实战:从端口映射到策略路由全解析

华为防火墙与CentOS GRE隧道实战:打通混合云网络的关键一步 最近在帮一家客户做混合云架构迁移,他们有个挺典型的需求:本地数据中心跑着核心业务,但部分服务想平滑迁移到公有云上,同时还得保证两边的应用能像在一个局域…...

SAP SQ01 用户权限查询 - AGR_USER 表关系解析与应用

1. 从SQ01查询说起:为什么AGR_USER表是权限管理的“核心枢纽” 如果你在SAP系统里做过权限相关的查询或者审计,大概率用过SQ01这个事务码。SQ01是SAP标准的查询工具,功能强大,但说实话,我第一次用它来查用户权限的时候…...

物流优化中的智能算法选择指南:何时用NS?LNS还是ALNS?

物流优化中的智能算法选择指南:何时用NS?LNS还是ALNS? 在物流与供应链管理的核心地带,无论是仓库里拣货员的行走路径,还是公路上运输车辆的调度排班,背后都隐藏着一个个复杂的组合优化难题。对于负责技术选…...

实战指南:Burp Suite 在安卓高版本模拟器中的HTTPS抓包与证书信任配置

1. 为什么安卓高版本抓包这么麻烦?从“信任”说起 大家好,我是老张,一个在安全测试这行摸爬滚打了十来年的老兵。今天咱们不聊虚的,就聊一个让很多刚入行的朋友头疼不已的问题:用Burp Suite抓安卓APP的HTTPS包&#xf…...

循环神经网络(RNN)在时序数据处理中的核心优势与应用场景解析

1. 为什么说RNN是处理“带记忆”数据的首选? 如果你用过传统的神经网络,比如前馈神经网络或者CNN来处理图片,你会发现它们有个特点:每次输入都是独立的。比如你给一张猫的图片,它输出“猫”;给一张狗的图片…...

CentOS8网络服务重启失败?试试这个NetworkManager的隐藏技巧

CentOS 8网络服务重启失败?试试这个NetworkManager的隐藏技巧 最近在CentOS 8上折腾服务器,不少朋友都遇到了一个看似简单却让人头疼的问题:想用经典的systemctl restart network命令重启网络服务,结果系统直接给你泼一盆冷水&…...

RFSOC XCZU47DR开发套件在5G射频基带与相控阵系统中的应用实践

1. 从“概念”到“信号”:为什么我们需要RFSOC XCZU47DR? 如果你正在捣鼓5G、相控阵雷达或者任何需要处理大量无线信号的玩意儿,那你肯定对“原型验证”这个词又爱又恨。爱的是,它意味着你的天才想法有机会变成现实;恨…...

告别Magnet!Hammerspoon窗口管理全攻略:从基础分屏到高级布局

告别Magnet!Hammerspoon窗口管理全攻略:从基础分屏到高级布局 如果你是一名Mac用户,并且每天需要与十几个窗口打交道——浏览器、代码编辑器、终端、文档、通讯软件——那么你一定对窗口管理这件事又爱又恨。爱的是macOS流畅的动画和精致的界…...

华为手机NFC车钥匙全攻略:从开通到使用,手把手教你告别实体钥匙

华为手机NFC车钥匙:从入门到精通,彻底解放你的口袋 不知道你有没有过这样的经历:急匆匆出门,走到车边一摸口袋,心里咯噔一下——车钥匙又忘带了。或者,在超市采购完,双手拎满购物袋,…...

高光谱数据处理实战:从.mat到真彩色图像的完整流程(含常见问题解答)

高光谱数据处理实战:从.mat到真彩色图像的完整流程(含常见问题解答) 你是否也曾面对一堆共享的.mat格式高光谱数据,感觉无从下手?明明知道里面藏着丰富的光谱信息,却卡在第一步——如何把它变成一张人眼能直…...

HCIP数通 vs 安全 vs 云计算:2024年华为认证方向选择指南(含薪资对比)

HCIP数通 vs 安全 vs 云计算:2024年华为认证方向选择指南(含薪资对比) 站在2024年的十字路口,如果你是一名网络工程师或者正在IT领域寻求突破的从业者,面对华为HCIP认证下琳琅满目的方向,感到一丝迷茫&…...

WinServer 2012 R2实战:如何通过组策略彻底禁用域用户离线登录(附注册表清理技巧)

WinServer 2012 R2企业级安全加固:从组策略到注册表,全面封堵域用户离线登录风险 在金融、医疗、研发等对数据安全有着严苛要求的行业里,IT管理员们常常面临一个看似微小却影响深远的挑战:当员工带着笔记本电脑离开公司网络&#…...

海康威视内部Ubuntu镜像源配置全攻略(含18.04/20.04/22.04版本)

海康威视内部Ubuntu镜像源配置全攻略(含18.04/20.04/22.04版本) 如果你正在参与海康威视相关的项目开发,无论是内部研发还是外部协作,搭建一个高效的开发环境是第一步。而环境搭建中,最基础也最影响效率的一环&#xf…...

如何用Cofounder快速创建RESTful API与AsyncAPI文档:完整指南

如何用Cofounder快速创建RESTful API与AsyncAPI文档:完整指南 【免费下载链接】cofounder ai-generated apps , full stack generative UI 项目地址: https://gitcode.com/gh_mirrors/co/cofounder Cofounder是一款强大的AI驱动的全栈应用生成工具&#xff…...

SQLDelight性能优化终极指南:10个提升数据库操作效率的实用技巧

SQLDelight性能优化终极指南:10个提升数据库操作效率的实用技巧 【免费下载链接】sqldelight 项目地址: https://gitcode.com/gh_mirrors/sql/sqldelight SQLDelight是一个功能强大的类型安全SQL数据库库,它允许开发者直接编写SQL语句并生成类型…...

TypeScript声明文件终极指南:为JavaScript库快速添加类型支持

TypeScript声明文件终极指南:为JavaScript库快速添加类型支持 【免费下载链接】typescript-book-chinese TypeScript Deep Dive 中文版 项目地址: https://gitcode.com/gh_mirrors/ty/typescript-book-chinese TypeScript声明文件是连接JavaScript库与TypeS…...

Weave Net安全配置终极指南:10个关键策略保护你的容器网络

Weave Net安全配置终极指南:10个关键策略保护你的容器网络 【免费下载链接】weave 项目地址: https://gitcode.com/gh_mirrors/we/weave 在容器化部署中,网络安全是保障业务稳定运行的核心环节。Weave Net作为一款强大的容器网络解决方案&#x…...

exifr性能优化指南:HTTP Range请求与懒加载策略让元数据解析提速60%

exifr性能优化指南:HTTP Range请求与懒加载策略让元数据解析提速60% 【免费下载链接】exifr 📷 The fastest and most versatile JS EXIF reading library. 项目地址: https://gitcode.com/gh_mirrors/ex/exifr exifr是一个高性能的JavaScript EX…...

Session.js源码解析:揭秘用户会话信息获取的实现原理

Session.js源码解析:揭秘用户会话信息获取的实现原理 【免费下载链接】session.js Session.js - Get user session information 项目地址: https://gitcode.com/gh_mirrors/se/session.js Session.js 是一款轻量级 JavaScript 库,专为获取用户会话…...

如何利用d3-interpolate打造React-Move高级动画:完整插值技术指南

如何利用d3-interpolate打造React-Move高级动画:完整插值技术指南 【免费下载链接】react-move React Move | Beautiful, data-driven animations for React 项目地址: https://gitcode.com/gh_mirrors/re/react-move React-Move是一个基于React的数据驱动动…...