数据库系统概论

1 数据库相关概念

1.1 数据与数据处理

1、信息与数据:信息是数据包含的意义,数据是负载信息的符号。
2、信息的特征:
a、可以被感知;
b、获取和传递需要载体和能量;
c、通过载体进行存储、压缩、加工、传递、共享、扩散、再生和增值。
3、数据处理:对数据进行收集、存储,检索、加工、变换、传播等活动的总和。

1.2 数据库

1、定义:长期存储在计算机内的、有组织的、可共享的、统一管理的相关数据的集合。
2、设计数据库需要考虑的因素:存取、共享。
3、发展历程:磁带->磁盘->关系模型->并行、分布式、面向对象数据库->决策支持、查询->高速度、高可靠性

1.3 数据库系统

1、数据库系统组成:数据、用户、硬件、软件。
2、数据库中的数据是“集成的”、“共享的”;集成:数据结构化且数据冗余小;共享:数据库的“集成”。
3、用户:终端用户、应用程序员、数据库管理员
4、硬件:各类外存储器及其附属设备、控制器、I/O通道、内存、CPU以及外部设备。
5、软件:负责存取、维护和管理的软件系统,通常叫数据库管理系统(DBMS)。
6、数据库系统的特点:数据冗余低、共享性高;数据独立性高(逻辑独立性、物理独立性);统一的数据控制功能(数据安全性、数据完整性、并发性、数据恢复)。

1.4 数据库管理系统(DBMS)

1、概述:负责对数据库的存储进行管理、维护、使用,是数据库的核心组成部分,用户在数据库的一切操作都是通过DNMS完成。
2、功能:数据库定义、数据存取、数据库运行管理、数据库的建立和维护、数据通信。
3、组成:语言编译处理程序、系统运行控制程序、系统建立、维护程序、事务运行管理、数据字典。

1.5 数据库应用系统(DBAS)

1、概述:在DBMS的基础上,针对一个实际问题面向用户的系统。
2、组成:数据库、数据管理系统、数据管理员、硬件平台、软件平台、应用软件和应用界面。

2 数据库系统的体系结构

1、数据库系统的体系结构受计算机系统(联网、并行、分布)的影响。
2、联网:客户和服务器划分任务,产生了客户-服务器数据库系统。
3、并行:加快处理速度,产生了并行数据库系统。
4、分布:在不同站点保存多个数据库副本,防止某个站点被破坏后数据库的正常运行。分布式数据库系统用来处理地理上或管理上分布在多个数据库的数据。

2.1 集中式体系结构

运行在一台计算机上、不与其他计算机系统交互的数据库系统。

2.2 客户-服务器结构

数据库存放在服务器中,应用程序根据需要安排在服务器或客户机上,实现了客户端程序和服务器程序的协同工作。

2.3 并行系统结构

1、并行的使用多个CPU和磁盘来提高处理速度和I/O速度。
2、并行结构模式:共享内存;共享磁盘;无共享;层次共享。

2.4 分布式结构

1、数据库存储在几台计算机(不共享主存或磁盘)中,计算机之间通过通信介质通信。
2、与无共享并行结构数据库的区别:分布式通常地理上分开、分别管理;(主要区别)分布式系统将事务区分为局部事务(访问自己)和全局事务(访问其他)。
3、分布式系统的优势:共享数据(站点间可以互相访问)、自治性(对局部数据有一定控制)、可用性(防止故障)。

3 数据模型

1、数据的抽象过程:现实世界->信息世界->数据世界
2、在信息世界中建立概念模型,在数据模型中建立逻辑数据模型。

3.1 概念模型

基本术语:实体与实体集(对象),属性(描述),关键字和域(唯一标识),联系(内部和外部)。

3.2 E-R方法表示概念模型

表现规则
a、矩形:实体;
b、椭圆:属性;
c、菱形:实体间的联系,联系也可以有属性;
d、线段:连接属性和实体,连接联系和实体;
e、双椭圆:多值属性;
f、虚椭圆:派生属性;
g、双线:实体全部参与到联系集中;
h、双矩形:弱实体集。

3.3 逻辑数据模型

1、当前流行的3中逻辑数据模型:层次模型(树),网状结构(图),关系模型(表)。
2、层次模型的优缺点:便于表示实体集内部的实体间联系;不便于两个以上实体集之间多对多的联系。
3、网状模型的优缺点:本质上与层次结构一样。
4、关系模型的优缺点:结构灵活,满足运算规则形成的查询,能搜索、组合比较不同类型的数据,增删方便。

4 关系数据库

基本术语:
a、关系:一个关系就是一个二维表。
b、元组:二维表中的行,构成关系的实体。
c、属性:二维表中的列,又称为字段。
d、域:属性的取值范围。
e、分量:元组中的一个属性,不可再分(表中表)。
f、关系模式:对关系的描述,如:关系名(属性1,属性2,……,属性n)。
g、候选关键字:属性集合为唯一标识。
h、关系数据库:一个关系模型的所有关系的集合。
i、主关键字:候选关键字中选一个作为主关键字,也称主键。
j、外关键字:属性不是所在关系的关键字,也称外键。
k、主属性:候选关键字中的属性成为主属性。

4.1 表之间的关系

通过外关键字实现表与表之间的联系,公共字段是一个表的主键和另一个表的外键。

4.2 关系模型的完整性约束

1、实体完整性:主属性不能为空值。
2、参照完整性:属性a是关系A的外键,属性a又对应关系B的主键b,则a的值必须为b中的值或空值。
3、用户定义的完整性:用户自定义属性的约束条件,如:唯一性,取值范围等。

5 关系代数

关系代数的种类:集合运算符,比较运算符,逻辑运算发,专门的关系运算符。

5.1 集合运算

1、并:取两个关系包含的所有元组(相同的只记录一次)。
2、差:关系A-关系B=属于关系A但不属于关系B的元组组成的新关系。
3、交:两个关系的交集。
4、(广义)笛卡尔积:关系A (n个元组)x 关系B (m个元组)= 关系A的每一个元组与关系B的每一个元组依次组合组成的关系(n x m个元组),与矩阵的点乘类似。

5.2 专门的关系运算

1、选择:设定条件进行选择,条件可以使用比较运算符构成,多个条件可以使用逻辑运算符连接。
2、投影:一个关系中取出若干指定字段(属性)的值称为投影。若投影有重复行,则取消相同的行。
3、连接:把两个关系中的记录按照一定条件横向结合,生成新的关系。常利用两个关系的公用字段进行连接(称为自然连接),将两个关系进行笛卡尔积运算,去除重复属性列。
4、除运算:关系R(X,Y)和S(Y,Z),R÷S=元组在X上的分量值x得象集Yx包含S在Y上的投影的集合。(象集:一类属性的一个分量对应另一类属性的一个或多个分量)。

6 规范化理论

规范化:关系中所有字段不可分割,数据项不能含有多个值。
1、第一范式 1NF:满足规范化最低的要求。
2、第二范式 2NF:满足第一范式的前提下,所有的非主关键字完全依赖与主关键字。
3、第三范式 3NF:满足第二范式的前提下,每个非关键字不传递依赖于主关键字。
4、一般规范化到3NF就满足需要了,更高规范化的还有BCNF、4NF、5NF。

7 数据库语言

1、数据库系统提供两种不同类型的语言:数据定义语言、数据操纵语言。
2、数据定义语言(DDL)用于定义数据库模式;数据操纵语言(DML)用于访问和操纵数据库中的数据(增删改查)。
3、数据操纵语言分为过程化DML(指定数据和获取途径)和陈述式DML(只指定数据不提供获取途径)。陈述式更易学易用,数据库系统会指出一种访问数据的高效路径。

8 数据库设计

概述:对具体的应用系统,设计优化的数据库逻辑模式物理结构,并建立数据库和应用系统,使之有效的存储和管理数据,满足各种用户的信息管理要求(存储、管理)和数据操作要求(增删改查)。

8.1 数据库设计的目标

为用户和各类应用系统提供一个信息基础设施和高效率(存取效率、空间利用率、运行管理效率)的运行环境。

8.2 数据库设计的特点

1、数据库建设的基本规则:三分技术,七分管理,十二分基础数据(最大、最繁琐、最细致的工作)。
2、结构设计与行为设计相结合:就是将数据库的结构设计和数据的处理结合起来。

8.3 数据库设计的方法

1、新奥尔良法:把数据库分为若干阶段和步骤,采用辅助手段实现每一过程(迭代和逐步求精)。有点程序设计的味道。
2、基于E-R模型设计数据库。
3、3NF设计法:用关系数据理论设计逻辑模型。
4、ODL(Object Definition Language)方法:面向对象的数据库设计方法。

8.4 数据库设计的步骤

1、需求分析
a、需求分析是数据库设计的基础,最困难、最耗时。
b、重点在于调查、收集和分析用户在数据管理中的信息要求、处理数据、安全性和完整性要求。
c、调查方法:跟班作业、开调查会、请专人介绍、设计调查表(问卷)、查阅记录。
2、概念结构设计:用E-R图进行描述。
3、逻辑结构设计
a、将概念模型转化为逻辑模型(关系、网、层次)。
b、向特定的DBMS进行数据模型转化。
c、数据模型优化
d、设计用户子模式
4、物理结构设计
a、确定数据库的物理结构
b、对物理结构进行评估:设计多个方案,从时间、空间、维护和用户要求进行权衡。
5、数据库实施
a、定义数据库结构:根据逻辑结构和物理结构用大数据定义语言(DDL)来描述。
b、数据装载:筛选、转换格式、输入、校验。
c、编制与调试应用:使用模拟数据进行调试。。
d、数据库试运行:功能测试、性能测试。
6、数据库运行和维护(主要由DBA完成)
a、数据的转储与恢复:定期对数据库和日志文件进行备份。
b、数据库的安全性和完整性控制:根据实际用户的需求设置不同操作权限(安全),由于应用环境的变化,数据库完整性也会变化,需要不断修改。
c、数据库性能的监督、分析和改进。
d、数据库的重组织和重构造:增删改查、垃圾回收,提高系统性能。

总结

本章主要介绍数据库的基本概念、数据模型、数据库管理系统、关系数据库、关系代数、安全性和完整性,以及数据库设计的内容和一般步骤。

Access数据库学习总结(1)相关推荐

  1. access select max_一个央企老屌丝的Access数据库自学之路(1)

    我是典型的牛校烂人,本科专业是学纯文科的,大学四年连高数都没学过.(上班后由于一度想考研,因此自学了一点点高等数学,如果你跟我说泰勒级数,我还知道你在说什么).本科毕业后的研究生是在英国读的,也是文科 ...

  2. access如何保存小数点后_跟宇哥学习Access数据库是怎样一种体验?(1)

    最近很多学员经常跟宇哥反馈微课效果,在此跟大家分享下.中石化张学员:1.请问您是做什么职业的?怎么知道宇哥的?我跟宇哥一样,在央企上班,我是一名安全员.很凑巧我也是石油系统的,在中石化.宇哥在我们石油 ...

  3. 学习记录:VB.NET.操作ACCESS数据库

    从98年到现在,VB6使用了20多年,真的舍不得扔掉,但是随着新计算机预装操作系统的版本越来越高,做好的安装包在安装时遇到的问题越来越多,无奈之下只能转向使用VB.NET了.安装了VS2005来学习, ...

  4. java access jdbc_Java jdbc连接Access数据库的方法学习(ucanaccess驱动)

    我们如何使用java jdbc连接Access数据库并进行读写呢?这个只需要使用UcanaccessDriver这样的驱动就可以了,首先java连接Access数据库需要引入net相关的jar包,Ac ...

  5. 网络安全学习--008--SQL注入之Access数据库注入详解

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 Access注入漏洞详解 一:注入漏洞分析 站库分类: 1.网站分类: 静态网页: 不依赖数据库 灵活性差,制作.更新.维护麻烦 交互 ...

  6. 视频教程-MVP带你零基础学习Access数据库-Office/WPS

    MVP带你零基础学习Access数据库 Office中国站长,2003--2014年连续10年微软有价值讲师.主要为企业ACCESS Office VBA应用开发及Sql server数据库开发,开发 ...

  7. qt连接mdb_【原创】QT数据库学习和以连接Access为例

    Qt能够实现对不同数据的支持,例如常见的oracl.MySql.Sql Server.Access等等.首先Qt是通过QSqlDabase来创建数据库的连接,下面是创建一个QSqlDabase的实例: ...

  8. VB.NET学习笔记:ADO.NET操作ACCESS数据库——ADO.NET数据访问接口

    一.ADO.NET概述 Ado.net基于XML和离线计算模型. ADO.net的两个核心组件:.Net数据提供程序.DataSet. .net数据提供程序用来与数据库的连接,如SQLServer.n ...

  9. 技术图文:如何利用 C# 向 Access 数据库插入大量数据?

    背景 通常我们在做数据分析与处理之前,需要把从网站爬取的数据或者从 甲方 系统中导出的数据存入到自己的数据库中.如果数据量小,直接利用 SQL的 Insert 语句逐条插入就好.可是数据量上万条之后, ...

  10. datagridview控件读写mysql数据库表格的方法_C#读写Access数据库、表格datagridview窗体显示代码实例...

    C#读写Access数据库.表格datagridview窗体显示代码实例 最近项目中用到C#对于Access数据库表读写.mdb操作,学习了下相关的东西,这里先整理C#对于Access数据库的操作,对 ...

最新文章

  1. lamp-安装脚本-修订版2
  2. iOS 的本地化使用和创建过程
  3. 【论文解读】MV3D-Net、AVOD-Ne用于自动驾驶的多视图3D目标检测网络
  4. 与JBoss BPM Travel Agency更新了现代BPM数据集成
  5. Python自然语言处理学习笔记(68):7.9 练习
  6. java 蓝桥杯算法训练 纪念品分组(题解)
  7. 阿里开发规范_阿里开发强制要求的11条SQL编写规范
  8. 单片机c语言期末考试题(a)的答案,单片机C语言期末考试题(A).doc
  9. CCF201809-2 买菜(100分)【序列处理+差分】
  10. 解决Access to Message Queuing system is denied.权限问题
  11. Java XLSTransformer生成excel文件
  12. 金蝶kis是怎么恢复套账的
  13. 西班牙语dele等级_DELE——西班牙语水平考试
  14. Oracle:ADG基础知识学习一20230515
  15. 4.4 区块链和大数据
  16. C# JSON 常用方法 - Json字符串转对象
  17. 【数字经济】概念、技术、实践:中国 500强泰康集团背后的数据驱动
  18. 【转】国内人才《上海市居住证》续办需提供的申请材料
  19. 技术分享 | 带你探索三维激光雷达“眼中”的世界
  20. 2023年中国十大软件公司排行榜 2023国内软件公司排名前十强

热门文章

  1. c语言入门程序下载,c语言入门自学软件下载
  2. 计算机程序设计vb怎么保存,VB编程:读取文本文件和保存文本文件的方法
  3. CSDN搜索可以搜博客代码了
  4. 如何编写高质量的程序
  5. 自定义viewFlipper
  6. Unity WebPlayer自定义进度条界面
  7. Spring源码深度解析笔记(10)——默认标签的解析
  8. Macbook pro新手入门
  9. MySQL 数据库性能调优
  10. Java实验报告(基础练习、选择循环、数组、字符串及类和对象)