概述

什么是数据库

数据库是电子化信息的集合
数据库起源于规范化“表(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. web项目jsp中无法引入js问题

    https://blog.csdn.net/C1042135353/article/details/80274685#commentBox 这篇文章超赞的,几个小时的时间看了这篇文章豁然开朗,瞬间懂了 ...

  2. 使用sc 命令写脚本 添加和删除服务 简单应用

    添加服务 @echo.服务启动...... @echo off @sc create 服务名 binPath= "%~dp0\服务路径" @sc config 服务名 start= ...

  3. linux系统磁盘满了,怎么解决?

    1.使用命令:df -lk 或 df -hl 发现果然有个磁盘已满 2.使用命令:du --max-depth=1 -h  查找大文件,发现/home文件夹下有17G的东西,因为我的apache是装在 ...

  4. ansible批量自动配置Juniper

    一.需求 有几台新上线的Juniper,需要批量配置下syslog,ntp,snmp基础配置 二.拓扑 三.实施步骤 1.读取配置并输出作为初步核查 2.把配置载入网络其中一台网络设备中,并做一个sh ...

  5. hive explode 行拆列

    创建一张表test_explode,表结构如下 表数据如下: 1.使用explode函数 select explode(friends) as friend from test_explode; 但是 ...

  6. 2019Hexo博客Next主题深度美化 打造一个炫酷博客(2)-奥怪的小栈

    219/8/1 更新 本文转载于:奥怪的小栈 这篇文章告诉你在搭建好博客后,面对网上千篇一律的美化教程怎么才能添加自己独特点,使人眼前一亮. 本站基于HEXO+Github搭建. 所以你需要准备好HE ...

  7. 运行所选代码生成器时出错:“值-1超出了可接受的[0,2147483647]范围。参数名称:value”

    在使用vs2019添加mvc控制器的时候 这已经是第二次遇到这个问题了.常言道,多喝热水,重启试试.有时候当应用工作不正常,重启也许能解决问题.但是程序员通常接触不到服务器系统权限.而运维人员和公司流 ...

  8. RabbitMQ的各个参数

    简介 原文:https://blog.csdn.net/vbirdbest/article/details/78670550 本节主要讨论队列声明的各个参数 queueDeclare(String q ...

  9. springBoot与Swagger2的整合

    1.在项目pom文件中引入swagger2的jar包 <!-- swagger2开始 --> <dependency> <groupId>io.springfox& ...

  10. 通过视图实现自定义查询<持续完善中。。。>

    目前实现: ----普通查询路径 /viewShow/viewShow/list.htm ----Echarts查询路劲 /viewShow/viewShow/echarts.htm 1.自定义查询条 ...