概述

什么是数据库

数据库是电子化信息的集合
数据库起源于规范化“表(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. malloc和free

    1.系统使用红黑树管理空闲堆空间,malloc是申请了堆一块内存的使用权,拿到了这个钥匙,然后红黑树该块的空闲标记被去除. 2.free后,红黑树重新标记该块内存为空闲,其他程序就可以申请到此块内存. ...

  2. F#周报2019年第34期

    新闻 高效的F#,提示与技巧 Fable 社区资源 Visual Studio提示与技巧:为.NET增加生产力 无风险地尝试Compositional IT的培训包--如果没有增加任何价值,可以得到完 ...

  3. Python: 转换文本编码

    最近在做周报的时候,需要把csv文本中的数据提取出来制作表格后生产图表. 在获取csv文本内容的时候,基本上都是用with open(filename, encoding ='UTF-8') as f ...

  4. pip安装ansible的过程

    我的python环境已经搭好了pip,可以用pip直接安装. 1.首先要安装基础环境: 1)yum install gcc glibc-devel zlib-devel rpm-build opens ...

  5. 大转盘(CocosCreator)

    推荐阅读:  我的CSDN  我的博客园  QQ群:704621321 1.在场景中搭建大转盘场景,假设 奖项有n项,对应的每项旋转角度如下: 第几项 需要旋转的角度 0 360/n/2 1 360/ ...

  6. unity编辑器扩展_07(创建对话框,检测按钮的点击,点击按钮后提示信息,保存设置的数据,显示点击按钮后的处理的进度条信息)

    代码: using UnityEditor;using UnityEngine; public class ChangeValue : ScriptableWizard {               ...

  7. 【Leetcode】【简单】【17. 整数反转】【JavaScript】

    题目描述 7. 整数反转 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转. 示例 1: 输入: 123输出: 321 示例 2: 输入: -123输出: -321示例 3: 输 ...

  8. 单页面应用的History路由模式express后端中间件配合

    这篇文章主要分享一下通过HTML5的history API的时候,使用NodeJS后端应该如何配置,来避免产生404的问题,这里是使用的express的框架,主要是通过connect-history- ...

  9. 以股票RSI指标为例,学习Python发送邮件功能(含RSI指标确定卖点策略)

    本人之前写过若干“给程序员加财商”的系列文,目的是通过股票案例讲述Python知识点,让大家在学习Python的同时还能掌握相关的股票知识,所谓一举两得. 在之前的系列文里,大家能看到K线,均线,成交 ...

  10. CodeForces 1058 F Putting Boxes Together 树状数组,带权中位数

    Putting Boxes Together 题意: 现在有n个物品,第i个物品他的位置在a[i],他的重量为w[i].每一个物品移动一步的代价为他的w[i].目前有2种操作: 1. x y 将第x的 ...