首页 > 数据库 >数据库学习笔记

数据库学习笔记

时间:2023-03-06 09:01:14浏览次数:42  
标签:数据库 DB 笔记 学习 模式 数据 模型 Schema

数据库学习笔记

img

1、基本知识与关系模型

从思维的角度学习。

第一讲 初步认识数据库系统

Table的构成和常用术语:

表名、表标题、(格式)、 表内容、 (行/元组/记录row/tuple/record)、(列/字段/属性/数据项column/field/attribute/data item)、关系。

数据库系统(DBS)

数据库系统由五个要素组成。

1、数据库(DB):

相互有关联关系的若干Table的集合。

2、数据库管理系统(DBMS)

管理数据库的一种系统软件。

3、数据库应用(DBAP)

管理数据库的应用程序。

4、数据库管理员(DBA)

管理数据库的管理人员。

5、计算机基本系统

基本计算机操作系统。

什么是数据库管理系统?

用户角度:数据库定义(Definition功能,数据库操纵(Manipulation)功能,数据库控制(Control)功能

从而形成了数据库定义语言(DDL),数据操纵语言(DML)、数据控制语言(DCL)。联合起来则形成了SQL语言,结构化的数据库语言。数据库语言可以嵌入到高级语言中使用。

系统角度:“形式->构造->自动化”,即解析语言并执行的系统。

典型的数据库管理系统(DBMS)

  • Oracle
  • DB 2 (IBM)
  • Sybase
  • MS SQL Server
  • MS Access
  • MS Foxpro

第二讲 数据库系统的结构抽象与演变

DBMS管理数据的三个层次

External Level = User Level

某一用户能够看到与处理的数据,全局数据的某一部分。

Conceptual Level = Logic level

从全局角度理解/管理的数据,含相应的关联约束。

Internal Level = Physical level

存储在介质上的数据,含存储路径,存储方式,索引方式等。

模式(Schema)

对于数据库中数据所进行的一种结构性的描述所观察到的数据的结构信息。

视图(View)/ 数据(Data)

某一种表现形式下表现出来的数据库中的数据。

三级模式(三级视图)

External Schema -- (External) View

某一用户能够看到与处理的数据的结构描述。

(Conceptual)Schema -- Conceptual View

从全局角度理解/管理的数据的结构描述,含相应的关联约束,体现在数据之间的内在本质联系。

Internal Schema -- Internal View

存储在介质上的数据的结构描述,含存储路径、存储方式、索引方式等。

两层映像

E-C Mapping : External Schema-Conceptual Schema Mapping

  • 将外模式映射为概念模式,从而支持实现数据概念视图向外部视图的转换。
  • 便于用户观察和使用。

C-I Mapping : Conceptual Schema-Internal Schema Mapping

  • 将概念模式映射为内模式,从而支持实现数据概念试图向内部视图的转换
  • 便于计算机进行存储和处理

逻辑数据独立性

当概念模式变化时,可以不改变外部模式(只需改变E-C Mapping),从而无需改变应用程序

物理数据独立性

当内部模式变化时,可以不改变概念模式(只需改变C-I Mapping),从而改变外部模式。

数据模型

  • 规定模型统一描述方式的模型,包括:数据结构,操作和约束。
  • 数据模型是对模式本身结构抽象模式是对数据本身结构形式的抽象。

三大经典数据模型

  • 关系模型:的形式组织数据
  • 层次模型:的形式组织数据
  • 网状模型:的形式组织数据

关系模型的例子

关系模型:表的形式(表名,元组,属性)

关系模型的模式:比如学生登记表(学号 char(8), 姓名 char(10), 性别 char(2), 入学日期 Datetime)

关系模型的数据:即在表中存储的数据

层次模型:树的形式(实体型(节点),系型(指针)

层次模型的模式:节点内由多个数据,由数据指向其他节点

层次模型的数据:不同实体型均有记录

网状模型:图的结构(实体型,系型)

网状模型的模式:同样节点上有多个数据,分别指向不同节点

网状模型的数据:类似层次模型,路径的节点均需要记录

数据库简要发展史

第一阶段:数据库技术探索阶段(59-65/67)

  • 研制成功格式文件系统
  • 正式提出“Data Base”, 并开始进行研究

第二阶段:数据库技术确立阶段(65/68-75)

  • 三大数据库:层次、网状及关系型数据库相继提出并进行深入研究。

  • 商用数据库出现并应用,但多为网络及层次型系统。

  • 数据库研究形成理论基础,关系数据库理论。

  • 数据库应用已十分普及,渗透到社会各个方面,出现众多DB的技术分支,DB走向全面成熟,人称70年代为“数据库的年代”。

第三阶段:数据库技术成熟阶段(76-80s前期)

  • 提出了标准化数据库系统结构模型
  • 关系DB系统迅速发展:如SQL,QBE,System R,Ingres等
  • 关系理论日臻完善,包括规范化理论,关系语言,RDB的设计与实现,新型关系模型等。
  • 数据库应用已十分普及,渗透到社会各个方面,出现众多DB的技术分支,DB走向全面成熟,人称70年代为“数据库的年代”

第四阶段:数据库技术深化发展阶段(85-至今)

  • 数据库方法逐渐理论化,数据库设计理论不断完善
  • 新型数据模型,专用数据模型,专用型,新型数据库系统,不断涌现
  • 数据库技术+其他计算机技术结合==面向各行各业的专用数据库

2、数据库语言-SQL

3、数据建模和数据库设计

4、数据库管理系统实现技术

标签:数据库,DB,笔记,学习,模式,数据,模型,Schema
From: https://www.cnblogs.com/kennem/p/17182559.html

相关文章

  • 大数据导论课程笔记
    网络爬虫爬虫教程点击查看代码#-*-codeing=utf-8-*-#导入相关的包#BeautifulSoup是网页解析的开源库#request的作用是发送网络请求frombs4importBeauti......
  • node学习笔记(四)--- 知识点归集
    1、利用node原生封装一个求文件hash的方法const{createHash}=require('crypto');const{createReadStream}=require('fs');constgetFileMd5=(filePath)=......
  • C语言数据类型笔记
    Unsigned如果一个字面量常数想要表达自己是unsigned,可以在后面加u或U255U用l或L表示long(long)*unsigned的初衷并非扩展数能表达的范围,而是为了做纯二进制运算,主要是......
  • Qt学习笔记 - 第一章 - 快速开始、信号与槽
    Qt学习笔记全系列传送门:【本章】Qt学习笔记-第一章-快速开始、信号与槽Qt学习笔记-第二章-添加图片、布局、界面切换目录1、Qt工程创建2、工程文件......
  • salesforce零基础学习(一百二十六) Picklist Value Set 优缺点和使用探讨
    本篇参考:https://help.salesforce.com/s/articleView?id=sf.fields_creating_global_picklists.htm&type=5当我们创建Picklist字段时,比如很多表很多字段都会用到同样的p......
  • Python学习笔记(七)字符串操作
    一、数据类型转换%s字符串%d数值整数%f浮点数formatf表达式挖坑填坑法则1name='张三'2age=183height=180.545print('我的名字是%s'%name)6p......
  • Android学习-每日打卡APP-实现浏览功能
    接着写每日打卡App现在实现了浏览功能packagecom.example.clockappliction;importandroidx.appcompat.app.AppCompatActivity;importandroid.content.Intent;im......
  • 数字电子技术基础系统方法笔记第一章
    1.1数字和模拟信号及系统模拟量具有连续的数值,数字量具有离散的数值。自然加中大多数可以测量的对象都是模拟量。example:模拟量:温度,湿度,压力,速度。数字量:计算机储存......
  • redis缓存过期策略学习
    转自:http://jinguoxing.github.io/redis/2018/10/10/redis-EXPIRE/https://juejin.cn/post/70589185032559001671.过期字典在redis中维护了一个expires字典,里面保存了数......
  • APP学习7(自定义view)
    1.自定义view当系统控件不能满足需求是,需要自定义控件。自定义View常用的3个方法:onMeasure()方法:测量尺寸。onDraw()方法:绘制图像。onLayout()方法:指定布局中控件的......