在java程序中,一个字符串类型日期往数据库保存时使用to_date()函数,从数据库中取使用to_char()函数来获取字符串类型的日期。 16、尾巴 再过一遍oracle数据库相关知识,把之前薄弱的和没有学习到的记录下来,方便以后再复习。
SQL、关系代数、关系演算 关系代数 RA 例题 P.83 "所有" => "/"操作符 "至少两只船" => "p(xxx(1 -> a, 2 -> b, 3 -> ...), R X R)" 关系演算 RC 例题 P.88 数据存贮 Record id = <page id, slot #> P.245 索引 可拓展哈希 P.279 线性哈希 p.283 分裂条件:P.284 分裂可发生在增加一个新的溢出页或由于空间利用率的条件限制。一般是在增加一个新的溢出页时触发的 。
PostgreSQL 是什么 PostgreSQL(简称Postgres或PG)是一个功能强大、可靠性高、可扩展性好的开源对象-关系数据库服务器(ORDBMS),它以加州大学伯克利分校计算机系开发的POSTGRES 发展历程 起源与发展:PostgreSQL是伯克利的POSTGRES软件包的继承者,并经过不断的发展和完善,现已成为世界上最先进的开源数据库系统之一。 对象-关系型数据库:PostgreSQL支持大部分SQL标准,并提供了许多其他现代特性,如复杂查询、外键、触发器、视图、事务完整性以及多版本并发控制(MVCC)等。 企业级应用程序:在各种企业级应用中作为可靠的数据库管理系统。 官网 https://www.postgresql.org/ 安装 在Linux上,可以使用RPM源安装或从源代码编译安装。 database:编写数据库名,如果写all,代表所有库都可以连接。 user:编写连接的用户,可以写all,代表所有用户。 address:代表那些IP地址可以连接。
杂 在关系数据库管理系统中,创建的视图在数据库三层结构中属于模式。(×) 若在一个关系中,某一个属性或属性组的值能唯一地标识该关系的元组, 而其真子集不行,则称该属性或属性组为候选码。 ①身份认证 ②用户操作对象的权限 ③视图 ④存储过程 在数据库设计中,将E-R图转换成关系数据模型的过程属于(逻辑设计阶段) 若系统在运行过程中,由于某种硬件故障,使存储在外存上的数据部分损失或全部损失 ,这种情况称为(介质故障) 关系操作的特点是(集合)操作 并发控制的主要方法是(封锁)机制 数据库设计分以下六个阶段: (1)需求分析 (2)概念 结构设计 (3)逻辑 结构设计 (4)物理 结构设计 (5)数据库实施 (6)数据库运行和维护 用户 或应用程序 看到的 那部分局部逻辑结构和特征的描述是 (子)模式 数据库三级模式体系结构的划分,有利于保持数据库的 数据独立性 要保证数据库的数据独立性, 需要修改的是 三级模式之间的两层映射 关系数据库 关系模式 3 部分 - 关系 数据结构 - 关系 操作集合 - 关系 完整性约束 关系数据语言 3 类 - 关系 代数语言 - 关系 演算语言 - 具有关系代数
事务 2.1 概念 具有ACID特性的若干数据库 基本操作的组合体被称为事务。 有冲突的两个操作是不能交换次序的,没有冲突的两个事务是可交换的 同一事务的任何两个操作都是冲突的 不同事务对同一元素的两个写操作是冲突的 不同事务对同一元素的一读一写操作是冲突的 2.6 可串行性 如果不管数据库初始状态如何 ,一个调度对数据库状态的影响都和某个串行调度相同,则我们说这个调度是可串行化的(Serializable)或具有可串行性(Serializability)。 2.8 并发调度的正确性 当且仅当在这个并发调度下所得到的新数据库结果与分别串行地运行这些事务所得的新数据库完全一致,则说调度是正确的。 并发调度的正确性 可串行性 冲突可串行性 3.
一致性 一致性是指在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏。这是说数据库事务不能破坏关系数据的完整性以及业务逻辑上的一致性。 如A给B转账,不论转账的事务操作是否成功,其两者的存款总额不变(这是业务逻辑的一致性,至于数据库关系约束的完整性就更好理解了)。 保障机制(也从两方面着手):数据库层面会在一个事务执行之前和之后,数据会符合你设置的约束(唯一约束,外键约束,check约束等)和触发器设置;此外,数据库的内部数据结构(如 B 树索引或双向链表)都必须是正确的 持久性 这是最好理解的一个特性:持久性,意味着在事务完成以后,该事务所对数据库所作的更改便持久的保存在数据库之中,并不会被回滚。 实质:物理模型是对真实数据库的描述。 如关系数据库中的一些对象为表、视图、字段、数据类型、长度、主键、外键、索引、约束、是否可为空、默认值。 5.
前言 学习数据库系统,记录笔记。 数据库系统(DBS):由硬件系统、数据库、数据库管理系统、数据库应用程序、数据库用户等组成的系统。 用户或应用程序发出操作数据库中数据的命令都要通过数据库管理系统来执行 数据的查询是通过数据库管理系统,而并非从数据库直接查询 数据库管理系统的功能: 存储、检索、更新数据:用户通过数据库管理系统访问数据库 依靠数据库语言来实现 建立数据库的方法:数据库定义语言(DDL) 操作数据库的方法:数据库操作语言(DML) 数据库设计 数据库设计要分为三个层次(三层体系结构 The Three-level ANSI-SPARC 不同的数据库结构,对应不同的数据库模型。
数据库学习笔记(一) 个人习惯,SQL 都直接用小写字母,SQL 不区分大小写,大写个人看着别扭。 1. SQL 概述 SQL(Structured Query Language):结构化查询语言,是关系数据库的标准语言。 SQL 是一个通用的、功能极强的关系数据库语言 SQL 以同一种语法结构提供多种使用方式 SQL 是一门独立的语言,能够独立地用于联机交互的使用方式 SQL 也是一门嵌入式语言,能够嵌入到高级语言 (如表等)全部删除 restrict(限制):如果该模式中定义了数据库对象(如表、视图等),则会拒绝该删除语句的执行 2.2 基本表的定义、删除与修改 2.2.1 基本表定义 语法: create table ),如果没有指定模式,系统会根据搜索对象来确定该对象所属的模式 关系数据库管理系统会使用模式列表中第一个存在的模式作为数据库对象的模式名 显示当前的搜索路径: show search_path; 2.2.3
关系型数据库遵循ACID规则 事务在英文中是transaction,和现实世界中的交易很类似,它有如下四个特性: 1、A (Atomicity) 原子性 原子性很容易理解,也就是说事务里的所有操作要么全部做完 2、C (Consistency) 一致性 一致性也比较容易理解,也就是说数据库要一直处于一致的状态,事务的运行不会改变数据库原本的一致性约束。 4、D (Durability) 持久性 持久性是指一旦事务提交后,它所做的修改将会永久的保存在数据库上,即使出现宕机也不会丢失。 ...
数据库学习笔记(三) 1. 数据库完整性 1.1 概述 数据的正确性:指数据符合现实世界语义,反映了当前实际情况 数据的相容性:指数据库同一对象在不同的表中的数据是符合逻辑的 数据的完整性和安全性 是两个不同概念 数据的完整性 防止数据库中存在不符合语义的数据 ,也就是防止数据库中存在不正确的数据 防范对象:不合语义的、不正确的数据 数据的安全性 保护数据库,防止恶意的破坏和非法的存取 防范对象:非法用户和非法操作 1.2 实体参照性 1.2.1 实体完整性定义 1000 and 9999); 1.6 断言 在 SQL 中,可以使用 create assertion 语句,通过声明断点来指定更具一般性的约束 断言创建之后,任何对断言中涉及的关系的操作都会触发关系数据库管理系统对断言的检查 and (new.Sal < 4000) then new.Sal := 4000; end if; end; # 触发动作体结束 1.7.2 激活触发器 触发器的执行,是由触发事件激活的,并由数据库服务器自动执行
查看 MongoDB 数据库的版本 db.version(); 查看 MongoDB 下的所有数据库 show dbs 进入某个数据库下 use dbname 查看数据库下的所有集合 show collections NumberInt("1"), NumberInt("2"), NumberInt("3"), NumberInt("4")] } }, { multi: true } ) 数据备份 # -h 数据库地址 # -d 数据库名称 # -o 数据文件的路径 mongodump -h 192.168.10.178:27017 -d store -o F:\database 数据还原 # -h 数据库地址 # -d 数据库名称,数据文件的路径 mongorestore -h 192.168.10.178:27017 -d store F:\database 不能通过 ip 访问数据库的解决方法 修改 bin 转载请注明: 【文章转载自meishadevs:MongoDB数据库学习笔记】
慢查询 处理步骤 判断慢查询产生(CPU负载、IO读写、执行时间) 打开慢查询日志或使用分析工具(mysqldumpslow等) 选择调优方式 性能调优 应用程序优化 减少数据库连接次数,空间换时间 拆分复杂语句 > MOT IN NOT LIKE)和%开头的like(前导模糊查询)–会导致全表扫描 避免大表使用JOIN查询和子查询–会产生临时表,消耗较多CPU和内存,影响数据库性能 确定只有一条记录返回,可以加上 类型转换等会导致无法命中索引 表结构优化 字段类型优化,使用合适的类型(字段长度,避免 text,使用 not null) 合理使用索引,去除无用索引 读写分离和分库分表 避免使用触发器,存储过程、外键等 硬件和数据库配置优化
视图并不在数据库中以存储数据值形式存在。 行和列的数据来于自定义视图的查询所引用的基本表, 并且在具体引用视图时动态生成. 适用视图的时候,只能查看到视图中定义的数据。 从而提高了数据库中数据的安全性. 特点: (1)视图的列可以来自不同的表,是表的抽象和在逻辑意义上建立的新关系。 db_name表示用来设置数据库 show table status表示将显示所有设置数据库里表和视图的详细信息. 视图设计信息 desc view_name; information_schema数据库用于存储数据库对象信息 你们的views表中存储的是视图信息 use information_schema;
数据库学习笔记(二) 1. 数据库安全性 1.1 TCSEC/TDI 安全级别划分 B1 级:”安全”或”可信的”产品 ,真正意义上的安全产品 1.2 数据库管理系统安全性控制模型 存取控制流程: 数据库管理系统对提出 SQL 1.3 数据库安全性控制的常用方法 用户标识和鉴定 存取控制 视图 审计 数据加密 1.4 数据库安全性控制 1.4.1 用户身份鉴别 静态口令鉴别 动态口令鉴别 生物特征鉴别 智能卡鉴别 1.4.2 DBA 拥有对所有数据库对象的存取权限,还可以吧这些权限授予一般用户 1.4.4 数据库角色 数据库角色:被命名的一组与数据库操作相关的权限 角色是权限的集合 可以为一组具有相同权限的用户创建一个角色, 用户级审计: 任何用户可设置的审计 主要是用户针对自己创建的数据库表和视图进行审计 系统级审计: 只能由数据库管理员设置 可以监测成功或失败的登录请求、监测授权和收回操作以及其他数据库权限下的操作 1.6.1
数据库学习笔记(四) 1. 数据库恢复技术 1.1 事务 事务:用户定义的一个数据库操作序列,是一个不可分割的工作单位。这些操作要么全做,要么全不做。 事务中的操作要么都做,要么都不做 一致性 事务执行的结果必须是使数据库从一个一致性状态变为另一个一致性状态 一致性状态:数据库中只包含成功事务提交的结果 隔离性 一个事务的执行不能被其他事务干扰 持续性 事务一旦提交,它对数据库中数据的改变应该是永久性的 1. 3 故障 对数据库的影响: 数据库本身被破坏 数据库没有被破坏,但是数据可能不正确 事务故障:事务没有达到预期的终点(commit 转储期间允许对数据库进行存取、修改 海量转储:每次转储全部数据库 增量转储:只转储上次转储后更新后的数据 1.4.2 登记日志文件 日志文件:用来记录事务对数据库的更新操作的文件 作用: 进行事务故障恢复 进行系统故障恢复 协助后备副本进行介质故障恢复 为了保证数据库是可恢复的,登记日志文件必须遵循两条原则 登记的次序严格按并发事务执行的时间次序 必须先写日志文件,后写数据库 2.
二:数据库的现状 数据库类型: 1.层次数据库 2.网格状数据库 3.关系型数据库 4.NOSQL(非关系型数据库) 三:数据库系统 (1)数据库:用于存储数据的地方。 (2)数据库管理系统:为了提高数据库系统的处理能力所使用的管理数据库的软件 (3)数据库应用程序:数据库管理系统的软件补充。 数据库(database)提供了一个存储空间用来存储数据,可以把数据库看成是以存放数据的容器。 一个数据库肯定能包含许多文件,一个数据库系统中包含多个数据库 数据库管理系统(database management system.dbms):是用户创建,管理和维护数据库时使用的软件,位于用户与操作系统之间 二.1.创建数据库:create database databasename; databasename是指数据库名称 2.移动到指定的数据库里:use databasename; 3.删除数据库:
三,数据库简单操作 1.显示数据库列表: >show databases; mysql test 2.使其成为当前操作数据库 >use mysql; 打开数据库. database 数据库名; >use 数据库名; >create table 表名(字段设定列表) 5.删除数据库,册除表 >drop database 数据库名; >drop table 表名; 1984-02-25′,’84’); insert into personal values (‘005′,’linlin’,’1982-04-28′,’85’); 您正在看的MySQL教程是:MySQL数据库学习笔记 1.手动拷贝备份: MySQL数据库的文件保存在目录/var/lib/mysql中,数据库为每个库建立一个目录,所有的数据库文件都在这些目录中. MySQL教程是:MySQL数据库学习笔记。
数据库(DB):指长期保存在计算机的存储设备上,按照一定规则组织起来,可以被各种用户或应用共享的数据集合 数据库管理系统(DBMS):管理和操作数据库的大型软件,用于建立、适用和维护数据库, 对数据库进行同意管理和控制 ,以保证数据库的安全性和完整性。 数据库系统(DBS):自在计算机系统中引入数据库候的系统, 通常由计算机硬件、软件、数据库管理系统和数据管理员组成. ---- 授权新用户可以远程链接: mysql>grant all privileges 数据库是数据库对象的集合. information_schema:主要存储系统中的一些数据库对象信息,如用户表信息、列信息、权限信息 字符集信息和分区信息等. utf8 create database 数据库名称 character set utf8; ####查看数据库 show databases; ####使用数据 use 数据库名; ####查看使用那个数据库
,释放资源 cursor.close(); db.close(); return phone; } } 笔记批注: SQLiteOpenHelper 这两个方法都可以创建或者打开一个现有的数据库(如果数据库已存在则直接打开,否则创建一个新的数据库),并返回一个可对数据库进行读写的对象。 VARCHAR(20);"); db.execSQL("drop table if exists contactinfo"); onCreate(db); } } 笔记批注 打开mydb.db数据库 输入.table命令查看数据库中有哪些表,这个android_metadata是每个数据库中都会自动生成的,不用管。 笔记批注: public long insert (String table, String nullColumnHack, ContentValues values) 参数介绍: table: 要插入数据的表的名称
向量数据库向量数据库(Vector Database),也叫矢量数据库,是专为处理高维向量数据而设计的数据库系统,它能高效存储和查询由文本、图像、音频、视频等非结构化数据通过嵌入(Embedding)技术转换得到的向量 与传统数据库查询方面的区别传统数据库的查询核心是 “精确匹配” 。它回答的是“有没有?”(是否存在某条记录)和“是多少?”(某条记录的具体值)这类问题。其价值在于保证数据的准确性和一致性。 向量数据库(Milvus)负责存储:商品图片的特征向量、商品描述文本的特征向量。 它本质上是一个同时具有大小(长度)和方向,且满足平行四边形法则的几何对象向量数据库中的“向量”,远不止是简单的数字列表。 向量在数据库中的组织与检索索引(Indexing):为了在海量向量中快速找到相似项,数据库会为向量集合构建索引。