MOOC 数据库系统笔记(一):初步认识数据库系统
概述
什么是数据库
数据库是电子化信息的集合
数据库起源于规范化“表(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 数据库系统笔记(一):初步认识数据库系统的更多相关文章
- MOOC JAVA笔记
MOOC JAVA笔记 1.基础了解 JDK是开发人员安装的,它提供了开发java程序的必须工具 JRE是普通用户安装的,它提供了java的运行环境 JVM是java虚拟机运行程序的核心 2.程序的移 ...
- MOOC 数据库系统笔记(二):数据库系统的基本结构及其演变发展
数据库系统的结构抽象与演变 数据库的标准结构 DBMS管理数据的三个层次 1.External Level = User Level 某一用户能够看到与处理的数据,全局数据中的某一部分 2.Conce ...
- 第3次作业-MOOC学习笔记:Python网络爬虫与信息提取
1.注册中国大学MOOC 2.选择北京理工大学嵩天老师的<Python网络爬虫与信息提取>MOOC课程 3.学习完成第0周至第4周的课程内容,并完成各周作业 4.提供图片或网站显示的学习进 ...
- MOOC 数据库笔记(三):关系模型之基本概念
关系模型的基本概念 关系模型简述 1.最早由E.F.Codd在1970年提出. 2.是从表(Table)及表的处理方式中抽象出来的,是在对传统表及其操作进行数学化严格定义的基础上,引入集合理论与逻辑学 ...
- 第三次作业-MOOC学习笔记:Python网络爬虫与信息提取
1.注册中国大学MOOC 2.选择北京理工大学嵩天老师的<Python网络爬虫与信息提取>MOOC课程 3.学习完成第0周至第4周的课程内容,并完成各周作业 第一周 Requests库的爬 ...
- Android_Mars学习笔记_S01_001activity初步
一.activity初步 1.程序启动会先读配置文件AndroidManifest.xml找activity 2.activity会在onCreate方法中读取activity_main.xml文件, ...
- MOOC C#笔记(一):数据类型
C#笔记 基础知识 一个C#程序主要包括以下部分: 命名空间声明(Namespace declaration) 一个 class Class 方法 Class 属性 一个 Main 方法 语句(Sta ...
- 0034 Java学习笔记-反射-初步2-操作对象
通过反射创建对象 通过反射创建对象有两种方式,一种通过Class对象的newInstance()方法,一种是获取到Class对象的Constructor后,再调用newInstance()方法,前者要 ...
- 0033 Java学习笔记-反射-初步1
先看看通过反射能干嘛 示例:修改对象的private实例变量 package testpack; import java.lang.reflect.Field; public class Test1 ...
随机推荐
- 学习Lowdb小型本地JSON数据库
Lowdb是轻量化的基于Node的JSON文件数据库.对于构建不依赖服务器的小型项目,使用LowDB存储和管理数据是非常不错的选择. 一:lowdb 使用及安装 在项目中的根目录安装 lowdb 命令 ...
- JVM(十二):方法调用
JVM(十二):方法调用 在 JVM(七):JVM内存结构 中,我们说到了方法执行在何种内存结构上执行:Java 方法活动在虚拟机栈中的栈帧上,栈帧的具体结构在内存结构中已经详细讲解过了,下面就让我们 ...
- C#中的变量祥解
一.C#数据类型: A:值类型 值类型变量可以直接分配一个值,它是从System.ValueType派生而来,值类型直接包含数据,比如int,char,float,他们分别存储整型数据,字符,浮点数, ...
- java学习之- 线程继承Thread类
标签(空格分隔): 线程 在java.lang包中有个Thread子类,大家可以自行查阅文档,及范例: 如何在自定义的代码中,自定义一个线程呢? 1.通过对api的查找,java已经提供了对线程这类事 ...
- 【码上开心】Windows环境mysql数据库使用(一) 安装Mysql数据库
[下载MySql] https://dev.mysql.com/downloads/mysql/ 如下图,选择版本,本教程仅演示ZIP压缩包下载配置. 2.[解压到指定目录] 3.[配置环境变量] 4 ...
- CentOS -- RocketMQ HA & Monitoring
RocketMQ Architecture NameServer Cluster Name Servers provide lightweight service discovery and rout ...
- 从技术小白到收获BAT研发offer,分享我的学习经验和感悟(赠送相关学习资料)
去年秋季参加了校园招聘,有幸拿到了BAT.头条.网易.滴滴.亚马逊.华为等offer,经过研究生两年的学习积累,终于达成了自己的目标,期间也经历了很多,谨以此文,聊表感叹,也会分享很多我的Java学习 ...
- 快速了解会话管理三剑客cookie、session和JWT
更多内容,欢迎关注微信公众号:全菜工程师小辉.公众号回复关键词,领取免费学习资料. 存储位置 三者都是应用在web中对http无状态协议的补充,达到状态保持的目的 cookie:cookie中的信息是 ...
- 一位996、CRUD开发者的一天
记一笔流水账 今天我打算记一笔流水账,主要记录我的一天中干的事情,并思考效率低下的原因,同时分析一些可用的解决方案. 清早·开始做计划 早上六点四十,被梦想唤醒,然后看一会书,吃早餐,送娃上学. 九点 ...
- addTarget原理
addTarget原理: 当一个控件addTarget时,先到runLoop注册,然后runLoop才会监听该事件,事件处理按照响应者链条 以下以button为例图解: