数据库技术基础:数据库管理系统的功能介绍笔记

1、DBMS功能介绍

1.1 数据定义

数据库定义语言(DDL):可以对数据库结构描述,包括外模式、模式、内模式的定义;数据库完整性定义;安全保密定义比如口令、级别和存取权限。这些定义存储在数据字典中是DBMS运行的基本依据。

1.2 数据库操作

数据库操纵语言(DML):实现对数据库的基本操作比如检索、新增、修改、删除等。DML分为两类:

宿主型:将DML语句嵌入某种编程语言比如Java、C#等使用。

自含型:可以单独使用的DML语句,供用户交互使用。

1.3 数据库运行管理

数据库在运行期间多用户环境下的并发控制、安全性检查、存储控制、完整性检查和执行、运行日志的组织管理、事物管理和自动恢复等是DBMS的重要组成。这些功能也是保证数据库正常运行的基础。

1.4 数据组织、存储和管理

确定以何种文件结构和存取方式在存储级上组织这些数据。以提高存取效率。实现数据间的联系、数据组织和存储的基本目标是提高存储空间的利用率。

1.5 数据库的建立和维护

数据库的建立和维护包括数据库的初始建立、数据的转换、数据库的存储和恢复、数据库的重组和重构、性能监测和分析等。

1.6 其他功能

比如DBMS和网络中的其他应用程序的通信功能等。

2、DBMS的特点介绍

2.1 数据结构化且统一管理

数据库中的数据由DBMS统一管理,使数据面向的是整个应用系统。

2.2 有较高的数据独立性

独立性是指数据和应用程序是分离开的,DBMS负责数据的存储,应用程序只关心数据的逻辑结构,不需要了解数据在磁盘上具体的存储原理,从而可以简化应用程序的开发工作量。数据的独立性包括:物理独立性、逻辑独立性。

2.3 数据控制功能

数据的控制功能主要包括数据的安全性、完整性、并发、恢复的控制。

数据的安全性:保护数据库被不合法用户所使用造成信息泄露、更改、破坏等。根据用户权限进行控制。

数据的完整性:数据库的正确性和相容性,防止合法用户使用数据库向数据库加入不符合语义的数据。保证数据库的数据时正确的,避免非法的更新。

并发控制:多用户共享的系统中,许多用户可能同时对同一个数据进行操作。DBMS的并发控制子系统负责协调并发事物的执行,保证数据库的完整性不受破坏。

故障恢复:数据库的故障有:内部故障、系统故障、介质故障、计算机病毒。

故障恢复主要是数据库本身的恢复,将数据库恢复到某个正确状态或一致状态。恢复的原理是建立冗余数据。

3、DBMS分类

3.1 关系数据库系统(RDMS)

建立关系型数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据库中的数据。主流数据库有DB2、MYSQL、SQLSERVER、Oracle、Sybase等。

3.2 面向对象的数据库系统(OODBS)

支持以对象形式对数据建模的数据库管理系统,包括对象的类、类属性的继承、子类的支持。

特点:可以完整的描述现实世界的数据结构,能表达数据间的嵌套、递归联系;具有面向对象技术的封装性、继承性提高了软件的可重用性。

3.3 对象关系数据库系统(ORDBS)

在传统的关系模型的基础上提供元祖、数组、集合等更加丰富的数据类型以及处理新的数据类型操作能力,这样形成的数据模型称为“对象关系数据模型”。

IT技术分享社区

个人博客网站:https://programmerblog.xyz

文章推荐程序员效率:画流程图常用的工具程序员效率:整理常用的在线笔记软件远程办公:常用的远程协助软件,你都知道吗?51单片机程序下载、ISP及串口基础知识硬件:断路器、接触器、继电器基础知识

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/271316.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

charles乱码_基于iOS的Charles抓包实践

奇技指南在应用开发过程中,通过抓包调试服务端接口的场景时常出现。Charles和Wireshark是开发过程中最常用的两款软件。那么今天,让我们以iOS为例,聊一聊Charles抓包。本文来自360奇舞团QiShare团队投稿。在日常开发中,我们无法看…

那些程序员爆笑段子,扎心了…

1、特殊“2020是属于程序员的一年。”“怎么说?”“2020-1024996。”2、真相“你们程序员是不是没见过下班时候的太阳?”“也不是啦,夏天的时候还是能看到的。”“哦哦,夏天黑得比较晚。”“不是,是天亮得比较早。”3、…

lambda中sorted排序

准备工作&#xff0c;新建一个User类 使用stream排序操作&#xff08;默认ASC排序) stream倒序排序操作 sorted(Comparator.reverseOrder()) 代码例子&#xff1a; /*** lambda* sorted排序*/Testpublic void test19() {List<Integer> list new ArrayList<>();…

python中的括号不是西文吗_二级Python---python语言的基本语法元素(Day1)

一、基本输入输出函数Python中有三个重要的基本输入、输出函数&#xff0c;用于输入、转换和输出&#xff0c;分别是input()、eval()、print()。1.print()作用&#xff1a;输出运算结果&#xff1b;根据输出内容的不同&#xff0c;有三种用法。①、仅用于输出字符串&#xff0c…

chart.js 饼图显示百分比_实战PyQt5: 135-数据可视化之QChart绘制饼图

饼图是数据可视图表的基本类型&#xff0c;在QChart中&#xff0c;QPieSeries, QPieSlice处理饼图的绘制。QPieSeriesQPieSeries类以饼图形式显示数据。饼图系列由定义为QPieSlice对象的切片组成。切片可以具有任何值&#xff0c;因为QPieSeries对象计算切片的百分比与系列中所…

lambda中使用filter过滤

单一条件过滤 /*** 测试filter*/Testpublic void testFilter() {List<User> user new ArrayList<>();user.add(new User(1L, 18, "小明"));user.add(new User(2L, 20, "小王"));user.add(new User(3L, 28, "小刚"));user.add(new U…

Silverlight 打印

摘自&#xff1a;http://www.cnblogs.com/jiajiayuan/archive/2012/04/13/2444246.html Silverlight中的打印只有一个类&#xff0c;那就是PrintDocment这个对象来实现。下面我用两种方法来实现Silverlight的打印&#xff1a;第一种&#xff1a; private void btnPrint_Click(o…

数据库系统的体系结构知识笔记

1、集中式数据库系统分时系统环境下的集中式数据库系统结构诞生于20世纪60年代中期。当时的硬件和操作系统决定了分时系统环境下的集中式数据库系统构成早期的数据库技术的首选结构。数据和数据管理都是集中的&#xff0c;数据库系统的所有系统&#xff0c;从形式的用户到DBMS核…

mysql2014授权设置_mysql权限管理(2014-09-15)

本文比较碎片化&#xff0c;不过以问答的形式比较容易理解。如何查看mysql的当前登录的用户&#xff1f;select user();mysql -hlocalhost -uroot 与root192.168.11.100 区别&#xff1f;mysql -hlocalhost -uroot只能在本地进行登录&#xff0c;而root192.168.11.100不能在本…

python网站后台_Python 网站后台扫描脚本

Python 网站后台扫描脚本1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 #!/usr/bin/python #codingutf-8 import sys import urllib import time url "http://123.207.123.228/" txt open(r"C:\Users\ww\Desk…

数据库系统的三级模式结构知识笔记

1、数据抽象的三个层次数据库系统利用三个层次划分来抽象来对用户屏蔽系统的复杂性、简化用户与系统的交互。1.1 物理层物理层属于最低级层次的抽象&#xff0c;描述数据在存储器上如何进行存储的。物理层会详细描述复杂的底层结构。1.2 逻辑层逻辑层属于中间层&#xff0c;用来…

Arrays.sort()排序

/*** Arrays.sort()排序* 默认升序*/Testpublic void test(){Integer[] result {1,4,7,9};Arrays.sort(result);for (int i 0;i<result.length;i)System.out.println(i);}

import package的问题

在新建class的时候除了名字还可以选择包名&#xff1a; 新建2个包名&#xff0c;然后在不同的包里写2个同名的类&#xff0c; 程序中导入另外一个包 package com.hs;import com.hy.Father; 当直接使用Father的时候提示是引用的com.hy.Father public static void main(String[] …

数据库技术基础:常见基本模型介绍笔记

1、层次模型层次模型采用树型结构表示数据与数据间的联系。层次模型中每个节点表示一个实体&#xff0c;实体之间的联系用节点之间的连线表示&#xff0c;并且除了根节点以外&#xff0c;其他节点有且仅有一个双亲节点。层次模型特点&#xff1a;记录之间的联系通过指针实现&am…

升序

/*** 升序*/Testpublic void test25() {List<Integer> array Stream.of(1, 8, 5, 3).collect(toList());// 升序排序array.sort(Integer::compareTo);System.out.println(array);}

数据库技术:数据存储和查询知识笔记

1、存储管理器存储管理器作用&#xff1a;负责数据库中数据的存查询和更新。存储管理器负责和文件系统交互&#xff0c;将不同的DML语句翻译成底层文件系统命令&#xff0c;通过这种方式原始数据就通过文件系统存储在磁盘上。存储管理器是存储底层数据和应用程序、以及向数据库…

lambda中orElse(null)使用

如果取得第一个元素&#xff0c;则用findFirst() 最后提取元素的时候&#xff0c;可以用&#xff1a;get或者orElse(null) 这里要注意的是&#xff0c;规范用法是orElse(null) 用get方法&#xff0c;如果filter中获取的是null&#xff0c;那么用get方法会抛出异常&#xff1…

数据挖掘:数据仓库相关知识笔记

1、数据仓库介绍数据仓库&#xff08;DW&#xff09;&#xff1a;可以满足管理人员的决策分析需要&#xff0c;在数据库基础上产生了满足决策分析需要的数据环境。传统数据库和数据仓库比较比较内容传统数据库数据仓库数据内容当前数据历史的、存档的、归纳的、计算的数据目标面…

python200行代码_如何用200行Python代码“换脸”

本文将介绍如何编写一个只有200行的Python脚本&#xff0c;为两张肖像照上人物的“换脸”。 这个过程可分为四步&#xff1a; 检测面部标记。 旋转、缩放和转换第二张图像&#xff0c;使之与第一张图像相适应。 调整第二张图像的色彩平衡&#xff0c;使之与第一个相匹配。 把第…

git的smart Checkout跟force checkout的区别

1:在切换分支的时候,常常会遇到下图的问题 是因为我在test分支上修改了代码&#xff0c;但是没有commit&#xff0c;切换到其他分支上就弹出了这个窗口 我们需要怎么处理呢 2:可以看到弹框底部有Force Checkout Dont checkout Smart Checkout,表示什么意思呢 Smart …