第一章数据库绪论

第一章数据库绪论

  • 1.1_数据库系统概述
    • 1.1.1_数据库的四个基本概念
    • 1.1.2_数据库系统的特点
  • 1.2_数据库模型
    • 1.2.1_两类数据模型
    • 1.2.2_概念模型
    • 1.2.3_数据模型的组成要素
    • 1.2.4_常用的数据模型
  • 1.3_数据库系统的结构
    • 1.3.2_数据库系统的三级模式结构
    • 1.3.3_数据库的二级映像功能与数据独立性

1.1_数据库系统概述

1.1.1_数据库的四个基本概念

1.数据(data)
2.数据库(database,DB)

数据库提供数据的存储功能

3.数据库管理系统(database management system,DBMS)

主要功能:
①数据定义功能
②数据组织、存储和管理
③数据操纵功能
④数据库的事务管理和运行管理
⑤数据库的建立和维护功能

4.数据库系统(database system,DBS)

数据库系统是由数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员组成的存储、管理、处理和维护数据的系统
在这里插入图片描述

1.1.2_数据库系统的特点

1. 数据结构化

是数据库系统与文件系统的本质区别

2. 数据的共享性高,冗余度低且易扩充

数据共享的好处:
①减少数据冗余,节约存储空间
②避免数据之间的不相容性与不一致性
③使系统易于扩充

3. 数据独立性高

数据独立性是由DBMS的二级映像功能来保证的。
数据独立性包括物理独立性和逻辑独立性:
①物理独立性:指用户的应用程序与数据库中数据的物理存储是相互独立的
②逻辑独立性:指用户的应用程序与数据库的逻辑结构是相互独立的

4. 数据由数据库管理系统统一管理和控制

DBMS提供的数据控制功能:
①数据的安全性(Security)保护
②数据的完整性(Integrity)检查
③并发(Concurrency)控制
④数据库恢复(Recovery)

在这里插入图片描述

1.2_数据库模型

数据模型是用来描述数据、组织数据和对进行操作的

1.2.1_两类数据模型

概念模型:也称信息模型,它是按用户的观点来对数据和信息建模,用于数据库设计。
逻辑模型和物理模型
逻辑模型主要包括网状模型、层次模型、关系模型、面向对象模型等,按计算机系统的观点对数据建模,用于DBMS实现。
物理模型是对数据最底层的抽象,描述数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方法

1.2.2_概念模型

基本概念:实体、属性、码、域、实体型、实体集、联系
概念模型的一种表示方法:实体-联系方法(E-R方法),用E-R图来描述现实世界的概念模型
,E-R方法也称为E-R模型

1.2.3_数据模型的组成要素

数据模型通常由数据操作、数据结构、数据完整性约束条件三部分组成

1.2.4_常用的数据模型

非关系模型
层次模型(Hierarchical Model) 网状模型(Network Model)
关系模型(Relational Model)
面向对象模型(Object Oriented Model)
对象关系模型(Object Relational Model)

关系模型:

关系(Relation)
一个关系对应通常说的一张表
元组(Tuple)
表中的一行即为一个元组
属性(Attribute)
表中的一列即为一个属性,给每一个属性起一个名称即属性名
主码(Key)
表中的某个属性组,它可以唯一确定一个元组。
域(Domain)
属性的取值范围。
分量
元组中的一个属性值。
关系模式
对关系的描述
关系名(属性1,属性2,…,属性n)
学生(学号,姓名,年龄,性别,系,年级)

1.3_数据库系统的结构

1.3.2_数据库系统的三级模式结构

在这里插入图片描述
1.模式(也称逻辑模式)
描述的是数据的全局逻辑结构

数据库中全体数据的逻辑结构和特征的描述,一个数据库只有一个模式,模式的地位:是数据库系统模式结构的中间层

2.外模式(也称子模式或用户模式)
描述的是数据的局部逻辑结构

外模式的地位:介于模式与应用之间
①模式与外模式的关系:一对多
外模式通常是模式的子集
一个数据库可以有多个外模式。反映了不同的用户的应用需求、看待数据的方式、对数据保密的要求
对模式中同一数据,在外模式中的结构、类型、长度、保密级别等都可以不同
②外模式与应用的关系:一对多
同一外模式也可以为某一用户的多个应用系统所使用
但一个应用程序只能使用一个外模式
外模式的用途
保证数据库安全性的一个有力措施
每个用户只能看见和访问所对应的外模式中的数据

3.内模式(也称存储模式)

是数据物理结构和存储方式的描述
一个数据库只有一个内模式

1.3.3_数据库的二级映像功能与数据独立性

三级模式是对数据的三个抽象级别
二级映象在DBMS内部实现这三个抽象层次的联系和转换
外模式/模式映像
模式/内模式映像

1. 外模式/模式映像
模式:描述的是数据的全局逻辑结构
外模式:描述的是数据的局部逻辑结构

作用

保证数据的逻辑独立性
模式改变时,数据库管理员修改有关的外模式/模式映象,使外模式保持不变
应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。

2. 模式/内模式映像
模式/内模式映象定义了数据全局逻辑结构存储结构之间的对应关系。

作用

保证数据的物理独立性
当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式/内模式映象,使模式保持不变
应用程序不受影响。保证了数据与程序的物理独立性,简称数据的物理独立性。

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

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

相关文章

如何保证 Redis 消息队列中的数据不丢失?

Redis 最常见的业务场景就是缓存读取与存储,而随着时间的推移,有人开始将它作为消息队列来使用了,并且随着 Redis 版本的发展,在 Redis.2.0.0 中新增了发布订阅模式(Pub/Sub)代表着官方开始正式支持消息队列的功能了,直到今天为止还有部分公司在实现轻量级的消息队列时,…

9款基于CSS3 Transitions实现的鼠标经过图标悬停特效

之前给大家分享了很多css3实现的按钮特效。今天给大家分享9款基于CSS3 Transitions实现的鼠标经过图标悬停特效。这款特效适用浏览器:360、FireFox、Chrome、Safari、Opera、傲游、搜狗、世界之窗. 不支持IE8及以下浏览器。效果图如下: 在线预览 源码下…

Redis 如何实现分布式锁?

锁是多线程编程中的一个重要概念,它是保证多线程并发时顺利执行的关键。我们通常所说的“锁”是指程序中的锁,也就是单机锁,例如 Java 中的 Lock 和 ReadWriteLock 等,而所谓的分布式锁是指可以使用在多机集群环境中的锁。 我们本文的面试题是,使用 Redis 如何实现分布式…

第二章关系数据库

第二章关系数据库2.1 关系模型概述(略)2.2 关系操作2.2.1_基本关系操作2.2.2_关系数据库语言的分类2.3 关系的完整性2.3.1_关系的三类完整性约束2.3.2_实体完整性2.3.3_参照完整性2.3.4_用户定义的完整性2.4 关系代数2.4.1_传统的集合运算2.4.2_专门的关…

线程----Monitor(互斥锁)类设置超时值

Monitor类与Lock语句相比,Monitor类的主要优点是:可以添加一个等待被锁定的超时值。缺点:开销非常大using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.T…

第三章关系数据库标准语言SQL

第三章关系数据库标准语言SQL3.1_SQL的特点3.3_数据定义3.3.1_基本表的定义、删除与修改3.3.3_索引的建立与删除3.4_数据查询3.4.1_查询时消除重复行3.4.2_涉及空值的查询3.4.3_BETWEEN AND的使用3.4.4_字符匹配3.4.5_聚集函数3.5_数据更新3.5.1_插入数据3.5.2_修改数据3.5.3_删…

使用 Redis 如何实现延迟队列?

延迟消息队列在我们的日常工作中经常会被用到,比如支付系统中超过 30 分钟未支付的订单,将会被取消,这样就可以保证此商品库存可以释放给其他人购买,还有外卖系统如果商家超过 5 分钟未接单的订单,将会被自动取消&…

第五章数据库完整性

第五章数据库完整性5.1_数据库完整性概述5.2_实体完整性5.2_参照完整性5.3_用户定义的完整性5.1_数据库完整性概述 1.数据库的完整性: 数据的正确性和相容性 2.数据的完整性和安全性的区别: 数据的完整性:防止数据库中存在不符合语义的数据&a…

KVC/KVO实现原理分析

2019独角兽企业重金招聘Python工程师标准>>> 1. 函数调用(消息)实现分析: 我们看这条语句: [代码]c#/cpp/oc代码: 1 [self.person setValue:"Vincent"forKey:"name"]; 就会被编译器…

小白学算法:买卖股票的最佳时机!

作者 | 王磊来源 | Java中文社群(ID:javacn666)转载请联系授权(微信ID:GG_Stone)本文已收录至 Github《小白学算法》系列:https://github.com/vipstone/algorith今天蚂蚁集团(支付宝…

《APUE》第6章笔记

这一章主要介绍了口令文件和组文件的结构和一些围绕这些结构的函数。 口令文件即passwd就是在/etc/passwd中可以查阅。其结构是: 上图四个平台能支持的就用黑点表示。 因为加密口令这一项放在passwd这个人人可读的文件中,可能会有安全问题。所以现在的Li…

聊聊近期的感受和10月文章精选!

先来看本月的原创文章汇总,其中算法部分也有少量 9 月份的文章,这样汇总起来大家看起来更方便,目录如下。算法系列小白学算法第1篇:一文详解「栈」和手撸栈的两种方法!小白学算法第2篇:JDK 竟然是这样实现栈…

第六章关系数据理论

第六章关系数据理论6.1_问题的提出(略)6.2_规范化6.2.1_函数依赖6.2.2_码6.2.3_范式6.2.4_2NF6.2.5_3NF6.2.6_BCNF6.2.7_多值依赖6.2.8_4NF6.2.9_规范化小结6.3_Armstrong公理系统6.3.1_函数依赖闭包6.3.2_最小依赖集6.3.3_转换为3NF的保持函数依赖的分解…

Github上的热门iOS开源项目:AFNetworking、MagicalRecord、BlocksKit以及XVim

1. AFNetworking AFNetworking是一个非常受欢迎的轻量级的iOS、Mac OS X网络通信类库。它建立在NSURLConnection、NSOperation以及其技术的基础上,有着精心设计的模块结构和功能丰富的API,让很多网络通信功能的实现变得十分简单。 附件:/c…

队列实现栈的3种方法,全都击败了100%的用户!

作者 | 王磊来源 | Java中文社群(ID:javacn666)转载请联系授权(微信ID:GG_Stone)本文已收录至 Github《小白学算法》系列:https://github.com/vipstone/algorith之前我们讲过《用两个栈实现一个…

where、having、group by、order by、count的使用注意

where、having、group by、order by、count的使用注意1_where、having、group by、order by的顺序2_group by的作用3_where和group by的组合4_group by和having的组合5_where、having、group by的组合使用6_count与group by的组合使用1_where、having、group by、order by的顺序…

很实用的21个SQL小技巧!

前言每一个好习惯都是一笔财富,本文基于MySQL,分SQL后悔药, SQL性能优化,SQL规范优雅三个方向,分享写SQL的21个好习惯,谢谢阅读,加油哈~1. 写完SQL先explain查看执行计划(SQL性能优化…

阿里最喜欢问的多线程顺序打印的5种解法!

Keeper导读大家在换工作面试中,除了一些常规算法题,还会遇到各种需要手写的题目,所以打算总结出来,给大家个参考。全文 2929 字,剩下的是代码,P6 及以下阅读只需要 8 分钟,高 P 请直接关闭第一篇…

CSS入门

CSS入门1_CSS概要1.1_CSS引入方式2_CSS选择器3_字体样式3.1_字体属性3.2_字体类型:font-family3.3_字体大小:font-size3.4_字体粗细:font-weight3.5_字体颜色:color3.6_总结4_文本样式4.1_文本样式属性4.2_首行缩进:te…

23张图!万字详解「链表」,从小白到大佬!

作者 | 王磊来源 | Java中文社群(ID:javacn666)转载请联系授权(微信ID:GG_Stone)链表和数组是数据类型中两个重要又常用的基础数据类型。数组是连续存储在内存中的数据结构,因此它的优势是可以通…