数据库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 ...
随机推荐
- Go相关面试题目总结(日常更新)
1.go的深拷贝与浅拷贝 深拷贝 会赋值全部的内容 内容一样但是地址不一样 修改任何一个后地址不一样 内容也会一样 changeName(h1)对象传到函数里面也是深拷贝 b := a 这是深拷贝 会 ...
- 深入理解NIO(三)—— NIO原理及部分源码的解析
深入理解NIO(三)—— NIO原理及部分源码的解析 欢迎回到淦™的源码看爆系列 在看完前面两个系列之后,相信大家对NIO也有了一定的理解,接下来我们就来深入源码去解读它,我这里的是OpenJDK-8 ...
- [noip模拟]B<构造>
[题目描述] 在两个n*m的网格上染色,每个网格中被染色的格子必须是一个四联通块(没有任何格子被染色也可以),四联通块是指所有染了色的格子可以通过网格的边联通,现在给出哪些格子在两个网格上都被染色了, ...
- 1000行MySQL学习笔记,不怕你不会,就怕你不学!
Windows服务 -- 启动MySQL net start mysql-- 创建Windows服务 sc create mysql binPath= mysqld_bin_path(注意:等号与值之
- on duplicate key update 的用法说明(解决批量操作数据,有就更新,没有就新增)mybatis批量操作数据更新和添加
项目用的ORM框架是用springdatajpa来做的,有些批量数据操作的话,用这个效率太低,所以用mybatis自己写sql优化一下. 一般情况,我们肯定是先查询,有就修改,没有就添加,这样的话,单 ...
- AJAX对数据库增删改查实例
前端代码: <!DOCTYPE html><html><head><meta charset="UTF-8"><title&g ...
- MTK Android Driver :Lcm
MTK Android Driver :lcm 1.怎样新建一个LCD驱动 LCD模组主要包括LCD显示屏和驱动IC.比如LF040DNYB16a模组的驱动IC型号为NT35510.要在MTK6577 ...
- css怪异盒模型和弹性盒布局(flex)详解及其案例
一.怪异盒模型 怪异盒模型的属性是box-sizing,他有两个属性值: 1.content-box 这是由 CSS2.1 规定的宽度高度行为.宽度和高度分别应用到元素的内容框.在宽度和高度之外绘制元 ...
- Python爬虫利器 cURL你用过吗?
hello,小伙伴们,今天给大家分享的开源项目是一个python爬虫利器,感兴趣的小伙伴看完这篇文章不妨去尝试一下,这个开源项目就是curlconverter,不知道小伙伴们分析完整个网站后去code ...
- 使用docker搭建selenium grid 分布式环境
本文章只做docker搭建selenium grid 分布式环境步骤说明,对于selenium grid中的参数.流程.原理等不做说明.selenium grid的详细情况可查看官方文档https:/ ...