3.数据库系统

news/2025/1/18 16:01:13/

3.1数据库的基本概念

3.1.1:数据库体系结构

3.1.1.1集中式数据库系统


数据是集中的

数据管理是集中的

数据库系统的素有功能(从形式的用户接口到DBMS核心)都集中在DBMS所在的计算机

3.1.1.2C/S结构

客户端负责数据表示服务服务器主要负责数据库服务
数据库系统分为前端和后端
ODBC、JDBC

 3.1.1.3 分布式数据库

物理上分布、逻辑上集中

物理上分布、逻辑上分布

特点

透明性 

特点:

        数据独立性。除了数据的逻辑独立性与物理独立性外,还有数据分布独立性(分布透明性)。       

        集中与自治共享结合的控制结构。各局部的DBMS可以独立地管理局部数据库,具有自治的功能。同时,系统又设有集中控制机制,协调各局部DBMS的工作,执行全局应用。 

        适当增加数据冗余度。在不同的场地存储同一数据的多个副本,可以提高系统的可靠性和可用性,同时也能提高系统性能。

        (提高系统的可用性即当系统中某个节点发生故障时,因为数据有其他副本在非故障场地上,对其他所有场地来说,数据仍然是可用的,从而保证数据的完备性。)

        全局的一致性、可串行性和可恢复性。

透明性:

         分片透明:是指用户不必关心数据是如何分片的,它们对数据的操作在全局关系上进行,即如何分片对用户是透明的。

        复制透明:用户不用关心数据库在网络中各个节点的复制情况,被复制的数据的更新都由系统自动完成。

        位置透明:是指用户不必知道所操作的数据放在何处,即数据分配到哪个或哪些站点存储对用户是透明的。

        局部映像透明性(逻辑透明):是最低层次的透明性,该透明性提供数据到局部数据库的映像,即用户不必关心局部DBMS支持哪种数据模型、使用哪种数据操纵语言,数据模型和操纵语言的转换是由系统完成的。因此,局部映像透明性对异构型和同构异质的分布式数据库系统是非常重要的。

 3.1.1.4并行数据库

共享内存式

无共享式 

3.1.2:三级模式结构

        逻辑独立性:数据的逻辑结构发生变化后,用户程序也可以不修故。但是为了保证应用程序能够正确执行,需要修改外使式和概念模式之间的映像。 

        物理独立性:当数据的物理结构发生改变是,应用程序不用改变。但是为了能够保证应用程序能够给正确执行,霜要修改概念模式和内模议之间的映像。

3.1.3:数据仓库

面向主题:数据按主题组织。

集成的:消除了源数据中的不一致性,提供整个企业的一致性全局信息,

相对稳定的(非易失的):主要进行查询操作,只有少量的修改和删除操作(或是不删除)。

反映历史变化(随着时间变化):记录了企业从过去某一时刻到当前各个阶段的信息,可对发展历程和未来趋势做定量分析和预测。

OLTP:数据库:联机事务

OLAP:数据仓库:联机分析

3.2 数据库设计过程

聚簇索引在物理设计考虑。

3.3概念设计阶段

3.3.1:概念设计过程

集成的方法:
        多个局部E-R图一次集成。
        逐步集成,用累加的方式一次集成两个局部E-R。

集成严生的冲突及解决办法:(针对同一对象)

        属性冲突:包括属性域冲突和属性取值冲突。

        命名冲突:包括同名异义和异名同义。
        结构冲突:包括同一对象在不同应用中具有不同的抽象,以及同一实体在不同局部E-R图中所包含的属性个数和属性排列次序不完全相同。

3.3.2:E-R图

        实体:实体是现实世界中可以区别于其他对象的事件或事物。(实体集一实体的集合)
        属性:属性是实体某方面的特性。

        联系:实体的联系分为实体内部的联系和实体与实体间的联系。实体间联系类型:1:1,1:*,*:*

 属性:

简单属性和复合属性

        简单属性是原子的,不可再分的;

        复合属性可以细分为更小的部分(即划分为别的属性)

单值属性和多值属性:
        定义的属性对于一个特定的实体都只有单独的一个值,称为单值属性;
        在某些特定情况下,一个属性可能对应一组值,称为多值属性

NULL属性:表示无意义或不知道。

派生属性:可以从其他属性得来。

联系:

一对一(1:1)
一对多(1:n)
多对多(m:n)

两个以上不同实体集之间的联系(三元联系)多重度的确定(可根据语义直接转换)

以三元关系中的一个实体作为中心,假设另两个实体都只有一个实例:
        若中心实体只有一个实例能与另两个实体的一个实例进行关联,则中心实体的连通数为“一”
        若中心实体有多于一个实例能与另两个实体实例进行关联,则中心实体的连通数为“多”。

        P_D:表示一个病房有多个病人和多个医生,一个医生只负责一个病房,一个病人只属一个病房。

        SP_P:表示供应商为多个项目供应多种零件,每个项目可用多个供应商供应的零件,每种零件可由不同的供应商供应。

同一个实体集内的二元联系:

弱实体:在现实世界中有一种特殊的依赖联系,该联系是指某实体是否存在对于另一些实体具有很强的依赖关系,即一个实体的存在必须以另一个实体为前提,而将这类实体称为弱实体,如家属与职工的联系,附件与邮件。

特殊化:在现实世界中,某些实体一方面具有一些共性,另一方面还具有各自的特性,一个实体集可以按照某些特征区分为几个子实体。

聚集:一个联系作为另一个联系的一端。

3.4逻辑结构设计

3.4.1:关系模式相关概念


3.4.2:E-R图转关系模式


http://www.ppmy.cn/news/1564187.html

相关文章

D3.js及实例应用

文章目录 D3.jsd3.js 应用实例图标展示点击选择拖拉拽应用 D3.js D3.js是一个功能强大的JavaScript库,除了图标展示,还能实现多种类型的交互效果: 数据可视化交互 动态更新图表:根据用户操作(如点击按钮、选择下拉菜…

初学stm32 --- flash模仿eeprom

目录 STM32内部FLASH简介 内部FLASH构成(F1) FLASH读写过程(F1) 闪存的读取 闪存的写入 内部FLASH构成(F4 / F7 / H7) FLASH读写过程(F4 / F7 / H7) 闪存的读取 闪存的写入 …

图像识别opencv翻转

运行界面 以下是代码: import cv2 import numpy #读取图像 img cv2.imread("../image/cat.jpg") #1,0,-1代表不一样的翻转效果 flipped cv2.flip(img, 1) #显示结果 cv2.imshow("Flip", flipped) cv2.imshow("original", img) cv2…

【C++ 类和对象 进阶篇】—— 逻辑森林的灵动精灵,舞动类与对象的奇幻圆舞曲

欢迎来到ZyyOvO的博客✨,一个关于探索技术的角落,记录学习的点滴📖,分享实用的技巧🛠️,偶尔还有一些奇思妙想💡 本文由ZyyOvO原创✍️,感谢支持❤️!请尊重原创&#x1…

4、dockerfile实现lnmp

dockerfile实现lnmp: nginx centos7 172.111.0.10 mysql centos7 172.111.0.20 php centos7 172.111.0.30 自定义镜像来实现整个架构 nginx dockerfile配置文件 nginx配置文件 创建镜像 声明网段 创建…

MYSQL的第一次作业

目录 前情提要 题目解析 连接并使用数据库 创建employees表 创建orders表 创建invoices表 ​查看建立的表 前情提要 需要下载mysql并进行配置,建议下载8.0.37,详情可见MySQL超详细安装配置教程(亲测有效)_mysql安装教程-CSDN博客 题目解析 …

SpringBoot开发——使用ObjectMapper处理JSON数据

文章目录 1. 基本对象到JSON的转换2. 基本JSON到对象的转换3. 使用注解自定义JSON字段名称4. 序列化时忽略字段5. 处理未知的JSON字段6. 将对象列表转换为JSON7. 在Spring Boot控制器中使用ObjectMapper8. 将JSON文件转换为对象9. 美化打印JSON输出10. 自定义ObjectMapper配置本…

【C++】构造函数与析构函数

写在前面 构造函数与析构函数都是属于类的默认成员函数! 默认成员函数是程序猿不显示声明定义,编译器会中生成。 构造函数和析构函数的知识需要建立在有初步类与对象的基础之上的,关于类与对象不才在前面笔记中有详细的介绍:点我…