sql语句那部分参考了博客:https://blog.csdn.net/qq_41523096/article/details/86368690
描述事物的符号记录,数据与其语义是不可分的。
数据库是长期存储在计算机内、有组织的、可共享的大量数据的集合。
数据库中数据基本特点:永久存储、有组织和可共享三个基本特点。数据库中数据都是按照某一种数据模型来组织、描述和存储的。
科学地组织和存储数据,高效的获取和维护数据。
主要功能:
数据库系统是由数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员组成的存储、管理、处理和维护数据的系统
对数据进行分类、组织、编码、存储、检索和维护,它是数据处理的中心问题。数据处理是指对各种数据进行收集、存储、加工和传播的一系列活动的总和。
人工管理阶段、文件系统阶段、数据库系统阶段
特点 | 人工管理阶段 | 文件系统阶段 | 数据库系统阶段 |
---|---|---|---|
管理者 | 程序员 | 文件系统 | 数据库管理系统 |
数据面向对象 | 某一应用程序 | 某一应用 | 部门企业 |
数据的共享程度 | 无共享,冗余度极大 | 共享性差,冗余度答 | 共享性高,冗余度低 |
数据独立性 | 不独立 | 独立性差 | 具有高度的物理独立性和一定的逻辑独立性 |
数据结构化 | 无结构 | 记录内有结构、整体无结构 | 整体结构化,用数据模型描述 |
数据控制能力 | 应用程序自己控制 | 应用程序自己控制 | DBMS提供数据安全性、完整性、并发控制和恢复能力 |
数据模型是数据库用来对现实世界进行抽象的的工具,是数据库中用于提供信息表示和操作手段的形式框架
分为两类:概念模型(实体-联系)、逻辑模型和物理模型
概念模型:实体、属性、码、实体型、实体集、联系
第二类中的逻辑模型:层次模型、网状模型、关系模型、面向对象数据模型、对象关系数据模型、半结构化数据模型等
第二类中的物理模型:是对数据最底层的抽象。描述了数据在系统内部的表示方式和存取方法
数据结构、数据操作、数据的完整性约束条件
层次模型
优点:
缺点:
网状模型
优点:
缺点:
关系模型
优点:
缺点:
存取路径隐蔽,导致查询效率不高,为了提升性能,DMBS必须对用户查询请求进行优化
模式是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及型(type)的描述,不涉及具体的值。模式的一个具体值称为模式的一个实例。
模式、外模式、内模式
模式:
模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图
外模式:
外模式也称用户模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述。是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
内模式:
也称存储模式,一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式。
按照数据模型三要素,关系模型由数据结构、关系操作集合和关系完整性约束三部分组成
关系模型的数据结构非常简单,只包含单一的数据结构——关系
关系是关系模式某一时刻的内容或状态
关系在域上D笛卡尔积的子集
关系可以有三种类型:基本关系(基本表)、查询表、试图表。
关系的描述称为关系模式 ,可形式化的表示为R(U,D,DOM,F)
其中R为关系名,U为组成该关系的属性名集合,D为U中属性所来自的域,DOM为属性向域的映象集合,F为属性间数据的依赖关系集合。
关系模式:对关系的描述称为关系模式,可以形式化表示为R(U,D,DOM,F)
关系:是关系模式某一时刻的状态或者内容,关系模式是静态的,而关系是动态的。
关系数据库:关系数据库也有型和值之分,型是关系模式,是对关系数据库的描述。值是关系模式在某一时刻对应的关系集合。
关系模式是型;关系是值,是关系模式的实例。
例如S(num,name,age)是关系模式,组成的表是关系,即某一时刻关系模式的值
查询操作: 选择、投影、连接、除、并、差、交、笛卡尔积
选择、投影、并、差、笛卡尔积是五种基本操作
数据更新:插入、删除、修改
关系代数语言、关系演算语言、具有关系代数和关系演算双重特点的语言
在八种运算关系中,并、差、积、投影和选择为基本运算,其他三种运算,交、连接、除均可以用这五种基本运算来表达
外模式对应视图、模式对应基本表、内模式对应存储文件
not null,unique,码属性
执行视图查询时,先进行有效性检查。如果视图、表都存在,就取出视图定义,把定义中的子查询和用户查询结合起来,转换成等价的对基本表的查询。这一转换过程被称为视图分解。
视图是不实际存储数据的虚表,因此对视图的更新,最终要转换为对基本表的更新。因为有些视图的更新不能惟一有意义地转换成对相应基本表的更新,所以,并不是所有的视图都是可更新的.
基本表的行列子集视图一般是可更新的。若视图的属性来自集合函数、表达式,则该视图肯定是不可以更新的。
保护数据库以防止不合法使用所造成的的数据泄露、更改或破坏
安全标准:TCSEC标准;CC标准
通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动对数据提供一定程度的安全保护。
审计功能把用户对数据库的所有操作自动记录下来放入审计日志。审计员可以利用审计日志监控数据库中的各种行为,重现导致数据库现有状况的时间,找出非法行为。是一种事后检查的机制
数据库完整性是指数据的正确性和相容性。定义、检查、违约处理
增删改2,共4种检查
违约:
NOT NULL,UNIQUE,CHECK
插入或修改时,检查元组上的约束条件是否被满足,如果不满足则操作被拒绝执行
用来对完整性约束条件命名,灵活地增加、删除一个完整性约束条件
可以涉及多个表或聚集操作的比较复杂的完整性约束
CREATE TRIGGER
BEFORE|AFTER 触发事件ON表名
REFERENCING NEW|OLD ROW AS别名
FOR EACH{ROW|STATEMENT}
WHEN | BEGIN END
针对一个具体问题,应该如何构造一个适合于它的数据库模式,即应该构造几个关系模式,每个关系由哪些属性组成等。这是关系数据库逻辑设计问题
通常按属性间依赖情况来区分关系规范化程度
设R(U)是一组关系模式,X,Y是U上的子集。对于R(U)中的任意一个可能的关系r,如果r中不存在两个元组,它们在X上的属性值相同,而在Y上的属性值不同
X函数确定Y或Y函数依赖X,记做X->Y; F(X)=Y
X->Y,但Y不属于X,则称X->Y是非平凡的函数依赖
X->Y,但Y属于X,则称X->Y是平凡的函数依赖
若不特别说明都是讨论非平凡依赖
关系数据库中的关系是要满足一定要求的,满足不同程度要求的为不同范式
一个低一级的范式的关系模式通过模式分解可以转换为若干个高一级范式的关系模式的集合,这个过程叫做规范化
每一个非主属性完全函数依赖于任何一个候选码
不属于2NF会产生以下几个问题:
码X,非主属性Z,不存在X->Y,Y->Z成立,且Y不函数依赖于Z。
每一个非主属性既不传递依赖于码,也不部分依赖于码
会产生2NF中类似的问题
若X->Y且Y不属于X时,X必含有码
- 所有非主属性对每一个码都是完全函数依赖
- 所有主属性对每一个不包含它的码也是完全函数依赖
- 没有任何属性完全函数依赖于非码的任何一组属性
X,Y,Z.Z=U-X-Y。在R(U)中任意一组关系r,给定一対值(x,z),有一组Y的值,但这组值只决定于x而与z无关
对于每一个非平凡的多值依赖X->->Y,X都含有码
数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效的存储和管理书籍,满足各种用户的应用需求,包括信息管理要求和数据操作要求。
它是关于数据库中数据的描述,即元数据,而不是数据本身。数据字典是在需求分析阶段监理,在数据库设计过程中不断修改、充实、完善的。
通常包括:数据项、数据结构、数据流、数据存储和处理。
应用需求抽象为信息世界的结构
把概念结构设计阶段设计好的E-R图转换为与选用数据库管理系统产品所支持的数据模型相符合的逻辑结构
为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构的过程
步骤:
内容包括:关系模式选择存取方法,以及设计关系、索引等数据库文件的物理存储结构
标准SQL是非过程化的查询语言,缺少流程控制能力,难以实现应用业务的逻辑控制
SQL编程技术可以有效克服SQL语言实现复杂应用方面的不足,提高应用系统和数据库管理系统间的互操作性。
存储过程是由过程化SQL语句书写的过程,这个过程经编译和优化后存储在数据库服务器中
优点:
是为解决异构数据库间的数据共享而产生的,它建立了一组规范,并提供了一组访问数据库的应用程序编程接口(API)。ODBC具有两重约束力:一方面规范应用开发,另一方面规范关系数据库管理系统应用接口
组成: