数据库SQL---数据库系统概论
1、基本术语
1)信息:指数据加工处理后有用的数据。
2)信息的3种世界:
(1)现实世界:存在于人脑之外的客观世界。
(2)信息世界:现实世界在人脑中的反映。
(3)数据世界:将信息世界中的信息通过抽象和组织,按特定的数据结构,将数据存储于计算机中。
3)数据:描述事物的符号记录。
(1)数据处理:指对各种数据进行采集、存储、检索、加工、传播和应用等一系列活动的总和。
(2)数据管理:对数据进行有效的分类、组织、编码、存储、检索、维护和应用,是数据处理的中心问题。
(3)数据冗余:指相同的数据在不同的地方重复存储。
(4)数据完整性:指数据的正确性、有效性、相容性,也称为一致性约束。
4)数据库
(1) 含义:长期存储在计算机内的、有组织的、可共享的数据集合。
狭义:存储数据的仓库。
广义:可以对数据进行存储和管理的软件以及数据本身统称为数据库。
数据库是由表、关系、操作组成。
(2)数据库特点:较小的冗余度、较高的数据独立性、易扩展性、可为各个用户共享。
(3)数据库技术:科学的组织和存储数据、高效的获取和处理数据。
(4)一个数据库中包含三个文件:基本数据文件(主数据文件):.mdf 有且只有一个。
辅助数据文件:.ndf 可有可无可多个。
日志文件:.ldf 至少一个。
(5)数据库管理技术经历的阶段:人工管理阶段、文件系统阶段、数据库管理阶段。
(6)为什么需要数据库
几乎所有的应用软件的后台都需要数据库
数据库存储数据占用空间小,容易持久保存
存储比较安全
容易维护和升级
数据库移植比较容易
简化对数据的操作
(7)有了编程语言为什么还需要数据库
对内存数据操作是编程语言的强项,但对硬盘数据操作却是编程语言
对硬盘数据操作却是数据库的强项,是数据库研究的核心问题
5)DBMS(数据库管理系统):由一个相互关联的数据的集合和一组用以访问、管理和控制这些数据的程序组成。
(1)DBMS的用途:科学地组织和存储数据、高效地获取和维护数据。
(2)DBMS的特点:数据结构化、数据的共享度高、冗余度低、易扩充、数据独立性高、数据由数据库管理系统统一管理和控制。
(3)DBMS的组成:模式更新、查询、更新、查询处理器、存储管理器、事物管理器。
6)DBS(数据库系统):DBS=DB+DBMS
(1)DBS的发展:网状数据库(网状模型,图形结构)
层次数据库(层次模型,树形结构)
关系数据库(关系模型,简单二维表结构)
(2)SQL(结构化查询语言):专为数据库而建立的操作命令集。
2、数据模型
1)根据数据抽象的不同级别,将数据模型划分为3层:概念模型、逻辑模型、物理模型。
2)数据模型的组成:数据结构、数据操作、数据完整性。
(1)数据结构:描述数据库的组成对象(实体)以及对象之间的联系,是对系统静态特征的描述。
数据结构和数据库的区别
数据库是在应用软件级别研究数据的存储和操作
数据结构是在系统软件级别研究数据的存储和操作
(2)数据操作:指对数据库中各个对象的实例允许执行的操作的集合,是对系统动态特征的描述。
(3)数据完整性约束(数据约束):对数据结构和数据操作的一致性、完整性约束。
3)概念模型
(1)概念模型是现实世界的第一层抽象。
(2)常见的概念模型:实体联系模型(E-R模型)、面对对象模型(OO模型)。
4)逻辑模型
(1)逻辑层:数据抽象的中间层,用于描述数据库数据的整体逻辑结构,是现实世界的第二层抽象。
(2)逻辑层的数据抽象称为逻辑数据模型(数据模型)。
(3)传统的逻辑数据模型:层次模型、网状模型、关系模型;非传统的逻辑数据模型:面向对象模型(OO模型)、XML模型。
5)物理模型
(1)物理层:数据抽象的最底层,用于描述数据的物理存储结构和存取方法。
(2)物理层的数据抽象称为物理数据模型。
3、层次模型
1)层次模型用树形结构来表示各类实体以及实体间的联系。
2)条件:有且仅有一个结点没有双亲结点(根结点)、根以外的其他结点有且仅有一个双亲结点。
3)优点:数据结构简单清晰、查询效率高、提供了良好的数据完整性支持。
4)缺点:多对多联系表示不自然、查询孩子结点必须通过双亲结点、由于结构严密层次命令区域程序化、对插入和删除操作的限制多。
4、网状模型
1)条件:允许一个以上的结点无双亲、一个结点可以有多个双亲。
2)优点:更直接的描述现实世界、存取效率高。
3)缺点:结构复杂、操作语言复杂。
5、关系模型
1)关系模型由一组关系组成,每个关系的数据结构是一张二维表,没有重复行、列。
2)常用术语
(1)关系:一个关系对应一张二维表。
(2)元组:表中的一行。
(3)属性:表中的一列。
(4)码(码键):表中的某个属性或属性组,可以唯一标识表中的一行。
(5)域:属性的取值范围。
(6)分量:属性的取值范围。
(7)外码:表中的某个属性或属性组,用于描述本关系中的元组与另一个关系中的元组之间的联系。
(8)关系模式:形式:关系名(属性名1,属性名2,...,属性名n)。
6、数据抽象
1)物理层抽象:最低层次的抽象,描述数据实际上是如何存储。
2)逻辑层抽象:中间层次的抽象,描述数据库中存储什么数据以及这些数据之间存在什么关系。
3)视图层抽象:最高层次的抽象,只描述整个数据库的某个部分。
7、数据库的三级模式
1)模式:数据库中全体数据的逻辑结构和特征的描述,仅涉及型的描述,不涉及具体的值。
2)实例:模式的一个具体值,同一个模式可以有很多实例。
3)三级模式结构:外模式、模式、内模式。
(1)外模式(子模式、用户模式):对应于视图层数据抽象,通常为模式的子集,数据的局部逻辑结构。
(2)模式(逻辑模式):对应于逻辑层数据抽象,是数据库中全体数据的逻辑结构和特征描述,是用户的公共数据视图,数据库管理系统模式结构的中间层,既不涉及数据的物理存储细节和硬件环境,一个数据库只有一个模式,数据的全局逻辑结构,一个模式可以有多个外模式。
(3)内模式(存储模式):对应于物理层数据抽象,是数据的物理结构和存储方式的描述,是数据在数据库内部的表现方式,一个数据库只有一个内模式。
8、数据库的两层映像
1)外模式/模式映象:定义了该外模式与模式之间的对应关系,保证了数据的逻辑独立性。
2)模式/内模式映象:唯一的,定义了数据全局逻辑结构与存储结构之间的对应关系,保证了数据的物理独立性。
数据库SQL---数据库系统概论的更多相关文章
- 数据库系统概论——Chap. 1 Introduction
数据库系统概论--Introduction 一.数据库的4个基本概念 数据(data):数据是数据库中存储的基本单位.我们把描述事物的符号记录称为数据.数据和关于数据的解释是不可分的,数据的含义称为数 ...
- 数据库SQL优化大总结之 百万级数据库优化方案(转载)
网上关于SQL优化的教程很多,但是比较杂乱.近日有空整理了一下,写出来跟大家分享一下,其中有错误和不足的地方,还请大家纠正补充. 这篇文章我花费了大量的时间查找资料.修改.排版,希望大家阅读之后,感觉 ...
- 关于数据库SQL优化
1.数据库访问优化 要正确的优化SQL,我们需要快速定位能性的瓶颈点,也就是说快速找到我们SQL主要的开销在哪里?而大多数情况性能最慢的设备会是瓶颈点,如下载时网络速度可能会是瓶颈点,本地复制文件 ...
- 数据库系统概论(2)——Chap. 2 关系数据库基础
数据库系统概论(2)--Chap.2 关系数据库基础 一.关系数据结构及形式化定义 1.关系 关系模型的数据结构只包含单一的数据结构--关系.在关系模型中,现实世界的实体及实体间的各种联系均用单一的结 ...
- 数据库系统概论(1)——Chap. 1 Introduction
数据库系统概论--Introduction 一.数据库的4个基本概念 数据(data):数据是数据库中存储的基本单位.我们把描述事物的符号记录称为数据.数据和关于数据的解释是不可分的,数据的含义称为数 ...
- 数据库sql优化总结之5--数据库SQL优化大总结
数据库SQL优化大总结 小编最近几天一直未出新技术点,是因为小编在忙着总结整理数据库的一些优化方案,特此奉上,优化总结较多,建议分段去消化,一口吃不成pang(胖)纸 一.百万级数据库优化方案 1.对 ...
- sql数据库系统表和mysql系统表
sql数据库系统表,常用的(sysobjects,sysindexes,sysindexkeys,SYSCOLUMNS,SYSTYPES 及更多解释说明): https://docs.microsof ...
- Oracle 数据库SQL性能查看
作为一个开发/测试人员,或多或少都得和数据库打交道,而对数据库的操作归根到底都是SQL语句,所有操作到最后都是操作数据,那么对sql性能的掌控又成了我们工作中一件非常重要的工作.下面简单介绍下一些查看 ...
- 你用什么方法检查 PHP 脚本的执行效率(通常是脚本执行时间)和数据库 SQL 的效率(通常是数据库 Query 时间), 并定位和分析脚本执行和数据库查询的瓶颈所在?
php: 一般是在你要检查的代码开头记录一个时间,结尾记录一个时间.取差值, 数据库SQL的效率 sql的explain(mysql),启用slow query log记录慢查询. 通常还要 ...
- 数据库SQL Server与C#中数据类型的对应关系
ylbtech- .NET-Basic:数据库SQL Server与C#中数据类型的对应关系 数据库SQL SServer与C#中数据类型的对应关系 1.A,返回顶部 数据库 C#程序 int int ...
随机推荐
- 数据挖掘入门系列教程(八)之使用神经网络(基于pybrain)识别数字手写集MNIST
目录 数据挖掘入门系列教程(八)之使用神经网络(基于pybrain)识别数字手写集MNIST 下载数据集 加载数据集 构建神经网络 反向传播(BP)算法 进行预测 F1验证 总结 参考 数据挖掘入门系 ...
- Java复合优先于继承
复合优于继承 继承打破了封装性(子类依赖父类中特定功能的实现细节) 合理的使用继承的情况: 在包内使用 父类专门为继承为设计,并且有很好的文档说明,存在is-a关系 只有当子类真正是父类的子类型时,才 ...
- springboot系列(三)配置文件详解
目录 properties 文件 1.语法 2.优先级 3.自定义数据配置 4.获取自定义数据配置 1.通过prefix获取 yml文件 1.语法 2.优先级 3.自定义数据配置. 4.获取自定义数据 ...
- ArrayList源码浅析
这里只理解主要的常用方法: 1 public class ArrayList<E> extends AbstractList<E> 2 implements List<E ...
- 解决MySQL workbench的resultgird不出现的问题
23:01:37 2019-08-08 鸽了好久 终于开始看怎么使用MySQL workbench了 首先就是遇到了result gird不显示的问题 搜了 重启是一种办法(这方法...至少能用) 其 ...
- 配置并验证Split分离解析
配置并验证Split分离解析 案例1:配置并验证Split分离解析 案例2:查看进程信 ...
- (js描述的)数据结构[双向链表](5)
(js描述的)数据结构[双向链表](5) 一.单向链表的缺点 1.只能按顺序查找,即从上一个到下一个,不能反过来. 二.双向链表的优点 1.可以双向查找 三.双向链表的缺点 1.结构较单向链表复杂. ...
- 28.4 Calendar 日历
/* * Calendar:日历,提供了一些操作年月日时的方法 * 获取 * 修改 * 添加 */ public class CalendarDemo { public static void mai ...
- Java相同id的数据集合,合并数据为一条,并将几个字段内容合并为一个
Java实现,当然也可以数据库实现; /** * Created by shaozhiqi on 2019/7/31. */ public class TestUnion { @Test public ...
- java中取得用户输入的方法
java中取得用户输入的方法 1.采用java.util.Scanner类 采用Scannerd的next()方法读取,测试代码如下: Scanner sc=new Scanner(System.in ...