数据库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 ...
随机推荐
- [React]核心概念
本文是对React文档:核心概念部分的笔记,内容大致与文档相同. 文档链接 React哲学部分写的很好,务必要看 JSX JSX是JS的语法扩展,配合react使用,为JS和HTML的混写 JSX支持 ...
- NKOJ 7.7练习题A IP地址
问题描述 可以用一个网络地址和一个子网掩码描述一个子网(即连续的 IP 地址范围).其中子网掩码包含 32 个二进制位,前 32-n 位为 1,后 n 位为 0,网络地址的前 32-n 位任意,后 n ...
- Blazor入门笔记(2)-分部类组件与组件的继承
1.前言 本文接自Blazor的组件(1)-从0构建一个组件 2.分部类组件 Razor组件你可理解为就是一个类名与文件名相同的类,因此,可以新建一个同名的partial类,将组件中@code里面的代 ...
- CF1292C Xenon's Attack on the Gangs
题目链接:https://codeforces.com/problemset/problem/1292/C 题意 在一颗有n个节点的树上,给每个边赋值,所有的值都在\([0,n-2]\)内并且不重复, ...
- 浅谈Python导入外部文件
import 和 from ... import * 有什么区别? 例如我写了个模块hello.py def print_func(args): print("Hello " + ...
- Martinjingyu的开发环境
Mac Pro Book一台去年新款,最近这4年多折腾的东西总结下. Mac的包管理器首选HomeBrew,安装如下: ruby -e "$(curl -fsSL https://raw.g ...
- DataAnalysis-Pandas分组聚合
title: Pandas分组聚合 tags: 数据分析 python categories: DataAnalysis toc: true date: 2020-02-10 16:28:49 Des ...
- String 对象-->substr() 方法
1.定义和用法 substr() 方法可在字符串中抽取从 开始 下标开始的指定数目的字符. 语法: string.substr(start,length) 参数: start:提取开始下标 lengt ...
- C# 基础知识系列- 9 字符串的更多用法(一)
0. 前言 在前面的文章里简单介绍了一下字符串的相关内容,并没有涉及到更多的相关内容,这一篇将尝试讲解一下在实际开发工作中会遇到的字符串的很多操作. 1. 创建一个字符串 这部分介绍一下如何创建一个字 ...
- java添加对象成功后想知道当前添加对象的id
我使用的是springboot Mybatis写的项目,结构如下 mapper.xml(以下2个属性必须要有,主键id 一般是自动生成的) mapper.java (注意新增的返回值不需要,一般情况 ...