当前位置: 首页 > article >正文

教资信息技术之数据库技术

一、概述

1.1 基本概念

·数据:描述事物的符号记录称为数据

·数据库:长期存储在计算机内、有组织的、可共享的大量数据的集合。

·数据库管理系统:位于用户和操作系统之间的一层数据管理软件

·数据库系统:数据库系统是由数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员(DBA)组成的存储、管理、处理和维护数据的系统 

1.2 数据库技术的发展

1.3 数据库系统

1. 数据库系统的三级模式

·外模式:or用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示

·模式:是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据概念视图

·内模式:物理或存储模式,是数据物理结构和存储方式的描述,是数据在系统内部的组织方式

2. 数据库系统的二级映像

·外模式/模式映象:模式描述的是数据的全局逻辑结构,外模式描述的是数据的局部逻辑结构。对于同一个模式可以有任意个外模式。对于每一个外模式,数据库系统都有一个外模式/模式映象,它定义了该外模式和模式之间的对应关系。这些映像定义通常包含在各自外模式的描述中。

当模式改变时(例如增加新的关系、新的属性等),由数据库管理员对各个外模式/内模式的映像作相应的改变,可以使外模式保持不变。应用程序是根据数据的外模式来编写的,从而应用程序不必修改,保证了数据与应用程序的逻辑独立性,简称数据的逻辑独立性

·模式/内模式映象:数据库中只有一个模式,也只有一个内模式,所以模式/内模式映像是唯一的,它定义了数据全局逻辑结构与存储结构之间的对应关系。该映像定义通常包含在模式当中。当数据库的存储结构改变时,由数据库管理员对模式/内模式映像作出相对的改变,可以使模式保持不变,从而应用程序也不必改变。保证了数据与程序的物理独立性,简称数据的物理独立性

 

2. DBMS的主要功能

·数据定义:定义数据库的结构,完整性约束和用户的权限

·数据操纵:实现对数据的插入、删除等操作

·数据控制:对数据的安全性、完整性、并发、备份与恢复的控制

·数据维护:故障后的恢复、数据库的重组、性能的监视等

1.4 数据模型

1.4.1 概述

1. 两类数据模型

·概念模型:也叫信息模型,按用户的观点来对数据和信息建模,主要用于数据库设计

·逻辑模型:主要包括层次模型、网状模型、关系模型、面向对象数据模型和对象关系数据模型、半结构化数据模型等

2.  数据模型的组成要素

·数据结构:描述数据库的组成对象以及对象之间的联系

·数据操作:对数据库中各种对象(型)的实例(值)允许执行的操作的合集,包括操作及有关的操作规则,主要由查询和更新(插入、删除、修改)两类操作

·数据的完整性约束:一组完整性规则,以保证数据的正确、有效和相容,此外数据模型还应提供定义完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守的特定的语义约束条件

1.4.2 概念模型

1. 相关术语

·实体:客观存在并可相互区别的事务物称为实体,例如一个学生、一个部门

·属性:实体所具有的某一特性称为属性,例如学生实体的学号、姓名等属性

·码、键:唯一标识实体的某一属性或属性集

·域:一组具有相同数据类型的值的集合。属性的取值范围来自某个域

2. 实体间的联系

·一对一:班级和班主任

·一对多:班主任和学生

·多对多:学生和课程

3. E-R图

矩形实体;椭圆属性;菱形实体间联系;无向边连接

1.4.3 逻辑模型

1. 层次模型(树形)

2. 网状模型

3. 关系模型(二维表)

二、关系数据库

2.1 E-R图与关系模式的转换

·一对一联系的转换:选择合适的实体,在其中加入另一实体的码,eg将实体身份证中的身份证号加入学生实体中

·一对多联系的转化:在多的那端实体中加入一那端实体的码,eg将实体班级中的班级号加入学生实体中

·多对多联系的转换:增加二者联系的关系模式,并加上二实体中的码,eg学生与课程的联系为选课,选课拥有成绩成为新的关系模式,并加上学号和课程编号两个码

2.2 关系的完整性约束

实体完整性--主码不为空但可为多个,且不同元组的主码不重复;

参照完整性--外键的取值必须参照主键值,即受主键的约束;

用户定义完整性--用户事先定义属性值域

2.3 关系代数运算

传统的集合运算:并 差 交 笛卡尔积

专门的关系运算:

·选择:根据条件得到行

·投影:根据条件得到列

·连接:等值连接--在笛卡尔积的基础上选择两个关系中具有相同值的属性拼左右; 自然连接--在等值连接的基础上去掉重复的属性

三、关系数据库设计

3.1 函数依赖

3.1.1 定义

3.1.2 分类

·完全函数依赖:在R(U)中,如果X→Y,并且对于X的任何一个真子集X’, 都有X’/→Y, 则称Y对X完全函数依赖,记作X→fY,eg(SNo,CNo)→f Grade   

·部分函数依赖:在R(U)中,如果X→Y,并且对于X的任何一个真子集X’, 都有X’→Y, 则称Y对X完全函数依赖,记作X→pY,eg(SNo,CNo)→p SN

·传递函数依赖:在R(U)中,如果X→Y(Y⊈X),Y→Z(Z⊈Y),X/→Y, 则称Z对X传递函数依赖,记作X→tY,eg SNo→institute,institute→dean,则SNo→dean

3.1.3 候选码求解

·候选码:必须能够通过函数依赖推导出所有的属性

·闭包:该属性最多能推导出的属性集(属性本身能推出本身)

·首先求解只在左边出现过的属性集合UL的闭包, 若该闭包为全集,则候选码为UL

; 若该闭包不为全集或者为空,则对UM=U-UL-UR或ULUM组合求解闭包,先对单个元素进行求解,再多个元素组合进行求解(若有单个属性已经能作为候选码,则不再将该属性和其他属性进行组合)

3.2 范式

1. 第一范式

关系模式R的所有属性均为原子属性(不可再分),则R为第一范式

2. 第二范式

R满足1NF,且每个非主属性都完全依赖于R的主码(即不存在部分依赖),则为第二范式

3. 第三范式

R满足2NF,且每个非主属性都不依赖传递于R的主码(即不存在传递依赖),则为第三范式

4. BC范式

R满足3NF,且不存在主属性对非主属性的函数依赖,则为BC范式

四、ACCESS数据库

4.1 数据类型

·文本:文本或文本和数字的组合,不需要计算的数字

·数字:需要进行计算的数值数据

·日期时间:基于日期和时间的数据

·自动编号:添加记录时自动插入的唯一的数值

·是/否:逻辑值,复选框

4.2 创建查询

1. 指定列查询,查看显示部分

2. 排序查询,降序or 升序

3. 条件查询,and、 or、 between and、in、like--?为任意一个字符 *为任意个字符  #任意一个数字

4. 分组查询,看总计部分,最大值、计数、group by

4.3 SQL基础

1. 数据表的定义、删除与修改

·定义

·修改--增加 删除 修改列

·删除(不可撤销)

2. 数据更新

·插入数据 insert into

·修改数据 update set where where若省略则代表修改表中所有列的值

·删除数据 delete from where

3. 单表数据查询

·无条件查询

·条件查询

·聚集函数

·分组查询

·排序查询

4. 多表数据查询

·使用单表语句

·使用join子句


http://www.kler.cn/a/570206.html

相关文章:

  • Python函数入门指南:从定义到应用
  • 深入浅出:ASP.NET Core 中间件的使用与封装
  • 测试周期紧张?功能与非功能测试的 5 个平衡策略
  • Tailwind CSS 问题:npm error could not determine executable to run
  • 嵌入式C语言学习记录之-14~17day
  • 蓝桥杯 过年【算法赛】
  • vm+centos虚拟机
  • Kafka系列教程 - Kafka 可靠传输 -5
  • HTML在网页开发中的应用与重要性
  • 麒麟V10-SP2-x86_64架构系统下通过KVM创建虚拟机及配置虚机的NAT、Bridge两种网络模式全过程
  • 销售易CRM:用户体验与市场评价深度分析
  • 【网络安全】——二进制协议 vs 文本协议:从原理到实战的深度解析
  • 二叉树专题练习 ——基于罗勇军老师的《蓝桥杯算法入门C/C++》
  • MySQL调优--12--分批插入/更新数据 ---案例2
  • java数据结构_Map和Set(一文理解哈希表)_9.3
  • 【实战 ES】实战 Elasticsearch:快速上手与深度实践-2.1.3时间序列数据优化(Rollover + ILM策略)
  • 如何通过rust实现自己的web登录图片验证码
  • 【一文读懂】卷积神经网络(CNN)基础详解
  • AI浏览器BrowserUse:Docker运行环境准备(三)
  • 微信小程序自定义导航栏,胶囊菜单按钮高度适配问题