概述

什么是数据库

数据库是电子化信息的集合
数据库起源于规范化“表(Table)”的处理。
Table:以按行按列形式组织及展现的数据。
E.F.Codd,基于对“表(Table)”的理解:
1.提出了“关系”及关系模型。
2.提出了关系数据库理论
3.开创了数据库的时代
4.当前普遍应用的数据库管理系统的奠基者
5.获得图灵奖

表的构成和表的常见术语。

1.表名
2.表标题(格式)
表名加表标题合在一起称为(关系)模式
3.表内容(值)
表名加表标题加表内容合在一起称为(表/关系)
4.表的一行称为:行/元组/记录(row/tuple/record)
5.表的一列称为:列/字段/属性/数据项(column/field/attribute/data item)
数据库即为相互有关联的若干Table的集合

由表构成的数据库称为关系数据库(结构化数据库),除了关系数据库还有图像数据库,工程数据库等等(非结构化数据库)。。

什么是数据库系统

数据库系统的构成

1.数据库(DB):Database
2.数据库管理系统(DBMS):Database Management System
3.数据库应用(DBAP):DataBase Application
4.数据库管理员(DBA):DataBase Administraor
5.计算机基本系统

什么是数据库管理系统

用户:数据库管理系统应具有什么功能?

数据库定义功能

定义数据库中Table的名称、标题(内含的属性名称及对该属性的值的要求)等
1.DBMS提供一套数据定义语言(DDL:Data Definition Language)给用户
2.用户使用DDL描述其所要建立的表的格式
3.DBMS依照用户的定义,创建数据库及其中的Table

数据库操纵

向数据库的Table中增加/删除/更新数据及对数据进行查询、检索、统计等操作
1.DBMS提供一套数据库操纵语言(DML:Data Maniputation Language)给用户
2.用户使用DML描述其所要进行的增、删、改、查等操作
3.DBMS依照用户的操作描述,实际执行这些操作

数据库控制

控制数据库中数据的使用---哪些用户可以使用,哪些不可以
1.DBMS提供一套数据库操纵语言(DCL:Data Control Language)给用户
2.用户使用DCL描述其对数据库所要实施的控制
3.DBMS依照用户的操作描述,实际执行这些操作

数据库维护

转储/恢复/重组/性能监测/分析。。。
数据库维护的实时程序,一般都是由数据库管理员(DBA)来使用和掌握的

数据库语言

使用者通过数据库语言利用DBMS操作数据库
DDL,DML,DCL
具体如上。
这些语言统称为SQL语言:结构化的数据库语言
数据库语言与高级语言:
一条数据库语言相当于高级语言的一个或多个循环程序:
数据库语言(标准的:SQL语言)
Select 学号,姓名From 学生登记表 Where 性别='男';
相当于高级语言中的:
For K=1 to 最后一条记录
读第K条语句
if性别=男
输出
Endif
Next K
数据库语言可以嵌入到高级语言(宿主语言)中使用。

系统:数据库管理系统应具有什么功能?

解析语言并执行的系统-数据库管理系统。
1.编译与执行控制
2.查询优化实现
3.存储于索引
4.事务处理
5.其他(各种)控制程序
DBMS为完成DB管理实际上在后台运行着一系列程序。
1.语言编译器:将用数据库语言书写的内容,翻译成DBMS可以执行的命令。
例如:DDL编译器,DML编译器,DCL编译器;
2.查询优化(执行引擎)与查询实现(基于命令的不同执行算法):提高数据库检索速度的手段;例如贯穿于数据存取各个阶段的优化程序。
3.数据存取与索引:提供数据在磁盘、磁带上的高效存取手段。例如:存储管理器,缓冲区管理器,索引/文件和记录管理器等;
4.通信控制:提供网络环境下数据库操作与数据传输的手段。
还有事务管理、故障恢复、安全性控制、完整性控制等等。。
典型的数据库管理系统(DBMS)
Oracle
DB 2(IBM)
Sybase
MS SQL Server
MS Access
MS Foxpro
.......

MOOC 数据库系统笔记(一):初步认识数据库系统的更多相关文章

  1. MOOC JAVA笔记

    MOOC JAVA笔记 1.基础了解 JDK是开发人员安装的,它提供了开发java程序的必须工具 JRE是普通用户安装的,它提供了java的运行环境 JVM是java虚拟机运行程序的核心 2.程序的移 ...

  2. MOOC 数据库系统笔记(二):数据库系统的基本结构及其演变发展

    数据库系统的结构抽象与演变 数据库的标准结构 DBMS管理数据的三个层次 1.External Level = User Level 某一用户能够看到与处理的数据,全局数据中的某一部分 2.Conce ...

  3. 第3次作业-MOOC学习笔记:Python网络爬虫与信息提取

    1.注册中国大学MOOC 2.选择北京理工大学嵩天老师的<Python网络爬虫与信息提取>MOOC课程 3.学习完成第0周至第4周的课程内容,并完成各周作业 4.提供图片或网站显示的学习进 ...

  4. MOOC 数据库笔记(三):关系模型之基本概念

    关系模型的基本概念 关系模型简述 1.最早由E.F.Codd在1970年提出. 2.是从表(Table)及表的处理方式中抽象出来的,是在对传统表及其操作进行数学化严格定义的基础上,引入集合理论与逻辑学 ...

  5. 第三次作业-MOOC学习笔记:Python网络爬虫与信息提取

    1.注册中国大学MOOC 2.选择北京理工大学嵩天老师的<Python网络爬虫与信息提取>MOOC课程 3.学习完成第0周至第4周的课程内容,并完成各周作业 第一周 Requests库的爬 ...

  6. Android_Mars学习笔记_S01_001activity初步

    一.activity初步 1.程序启动会先读配置文件AndroidManifest.xml找activity 2.activity会在onCreate方法中读取activity_main.xml文件, ...

  7. MOOC C#笔记(一):数据类型

    C#笔记 基础知识 一个C#程序主要包括以下部分: 命名空间声明(Namespace declaration) 一个 class Class 方法 Class 属性 一个 Main 方法 语句(Sta ...

  8. 0034 Java学习笔记-反射-初步2-操作对象

    通过反射创建对象 通过反射创建对象有两种方式,一种通过Class对象的newInstance()方法,一种是获取到Class对象的Constructor后,再调用newInstance()方法,前者要 ...

  9. 0033 Java学习笔记-反射-初步1

    先看看通过反射能干嘛 示例:修改对象的private实例变量 package testpack; import java.lang.reflect.Field; public class Test1 ...

随机推荐

  1. 『深度应用』NLP机器翻译深度学习实战课程·壹(RNN base)

    深度学习用的有一年多了,最近开始NLP自然处理方面的研发.刚好趁着这个机会写一系列NLP机器翻译深度学习实战课程. 本系列课程将从原理讲解与数据处理深入到如何动手实践与应用部署,将包括以下内容:(更新 ...

  2. 图数据库 Nebula Graph 的数据模型和系统架构设计

    Nebula Graph:一个开源的分布式图数据库.作为唯一能够存储万亿个带属性的节点和边的在线图数据库,Nebula Graph 不仅能够在高并发场景下满足毫秒级的低时延查询要求,而且能够提供极高的 ...

  3. c11标准

    在编译器vs13及其以上可以使用 编译器对语言的一种优化 1.变量初始化 int a=0,a(10),a{10};定义a的值的三种方式 2.nullptr 相当于c的null 有类型 更加的安全 3. ...

  4. 最小生成树详细讲解(一看就懂!) & kruskal算法

    0.前言 因为本人太蒟了 我现在连NOIP的初赛都在胆战心惊 并且我甚至连最小生成树都没有学过 所以这一篇博客一定是最详细的QAQ 哈哈 请您认真看完如果有疏漏之处敬请留言指正 感谢! Thanks♪ ...

  5. .net测试篇之Moq框架简单使用

    系列目录 Moq库简介及安装 Moq简介 Moq是.net平台下的一个非常流行的模拟库,只要有一个接口它就可以动态生成一个对象,底层使用的是Castle的动态代理功能. 它的流行赖于依赖注入模式的兴起 ...

  6. Shell-->变量的数值计算

    1.----------------------------->>>>>文件改名,使用命令mv 2.----------------------------->&g ...

  7. java IO流 之 FIle类基础

    package IO; import java.io.File;import java.io.IOException; public class FileIO { /** * 构建及获取文件名信息 * ...

  8. redux 源码阅读

    目录 [目录结构] [utils] actionTypes.js isPlainObject.js warning.js [逻辑代码] index.js createStore.js compose. ...

  9. NanoPi NEO2 学习笔记 1:安装系统、首次开机和一些设置

    初识NEO2 前几天搞到了一块NanoPi NEO2,A53的核心,512M内存,一个千兆网口,非常小的体积,质量也不错,非常满意,140元的价格可以买到这样一块ARM开发板也是非常划算了,非常适合低 ...

  10. Ranger-hdfs插件压测

    公司的并发量很大,担心使用ranger-hdfs插件后 namenode扛不住压力 所以需要本人进行压测 没有在网上找到其他文档 资料太少了 决定自己写一份 介绍下压测环境 15个节点 集群高可用两个 ...