数据库系统原理(第二版)知识点总结

2023-11-17

目录

第一章 概述

基本知识

数据模型***

数据模型的组成要素

数据模型的分类

数据库系统的结构

第二章 关系运算

2.1 关系运算语言

(1)关系代数语言

第三章 数据完整性

实体完整性:主属性的取值不能为空值,主属性的候选键的取值要非空且唯一

参照完整性:如果X是关系R的主键,Y是关系S的外键,且X与Y相对应,则Y的取值要么为空值,要么取X的值。

用户定义完整性:用户根据系统需求自己定义的约束条件

完整性控制机制

数据完整性实现

第四章 SQL

4.1 SQL介绍

4.2 创建数据库

4.2.1 创建数据库

4.2.2 创建表

4.3 数据查询

4.3.1 集合查询

4.3.2 单表查询

4.3.3 多表查询

第五章 概念模型和逻辑模型

5.1 概念模型

5.2 逻辑模型

5.2.1 实体转换

5.2.2 联系转换

第六章 关系规范化

6.1 函数依赖

6.2 范式

6.3 关系模式规范化

6.3.1 Armstrong公理

6.3.2 最小函数依赖集

6.3.3 关系模式分解

第七章 数据安全

第八章 并发控制

第九章 数据恢复


第一章 概述

基本知识

数据是表示客观事物的符号(文本,图像,图形,音频,视频和动画)

多媒体数据:文本,图像,图形,声音,视频和动画等数据的集合

数据库:存放数据的电子仓库

数据库特点:数据永久结构化存储,冗余度低,独立性高,可以共享和易于拓展

数据库管理系统DBMS):提供给用户,并帮助用户建立、使用和管理数据库的软件系统。:管理数据的软件;用于维护数据库、接受和完成用户提出的访问数据库的请求

建立数据库的目的使用数据库,并对数据库中的数据进行数据处理和分析,数据库管理系统是帮助达到这一目的的工具和手段。

数据库管理系统的主要功能:

  • 数据定义

  • 数据操纵

  • 事务和运行管理

  • 组织、存储和管理数据

  • 数据库的建立和维护

数据库系统(DBS):是在计算机系统中引入数据库后,由数据库、数据库管理系统、开发工具、应用系统、数据库管理员和用户等构成的完整系统。

数据库系统一般由硬件、软件和人员等3大部分组成。

(1)硬件:计算机硬件和数据库专用硬件等。 (2)软件:操作系统(os)DBMS开发工具(程序设计语言和专用工具)和应用系统等。 (3)人员:数据库设计员、程序员、数据库管理员(DBA)和用户等。

数据库管理员是对数据库进行建立、使用和维护等的专职管理人员。DBA应该与数据库设计员、程序员和用户,共同参与数据库设计。

DBA的主要职责: (1)决定数据库的信息内容和结构。 (2)决定数据库的存储结构和存取策略。 (3)定义数据的安全性要求和完整性约束条件。 (4)监控数据库的使用和运行。 (5)数据库的改进、重组和重构。

数据管理技术经历了人工管理(不能保存、共享、独立,应用程序管理数据)、文件管理(可以保存,不能共享、独立,文件系统管理数据,数据冗余高)、数据库系统(数据结构化且易扩充,DBMS管理数据,独立,共享,冗余低)三个阶段。

数据模型***

数据模型对实际问题的模拟和抽象

数据模型的组成要素

数据模型数据结构数据操作数据完整性约束等组成。

(1)数据结构 ①数据对象及其特征的集合:数据对象的特性、类型和属性等。 ②数据对象之间的联系:数据对象之间的一对一联系、一对多联系和多对多联系等。 例如:在网上书店中,出版社的数据结构可以设计如下: 出版社(社号,社名,邮编,社址,电话,邮箱,网址)

(2)数据操作检索操作:数据对象的索引、排序和查询等。 例如:在网上书店中,对出版社按照“社号"建立索引。 ②更新操作:数据对象的插入、修改和删除等。 例如:在网上书店中,删除"购买”表中户号为"0005"的客户的购买信息。

(3)数据完整性约束 数据完整性约束是为了确保数据的正确性和相容性,而对数据对象约定的一系列约束条件和约束规则。 例如:在网上书店中,客户的性别只能是“男"或者“女”。 数据完整性约束包括实体完整性,参熙完整性和用户定义完整性等。

数据模型的分类

(1)概念模型

概念模型数据及其关系的图形表示。例如:E-R图。。 概念模型的主要组成要素实体、属性和联系等。

例如:拥有户号,户名,性别,生日,手机,婚否和邮箱特性的6个客户实体组成的客户实体集(即:客户表)如下: (001,郭靖,男, 1966-06-01, 13111223, 123450@aq.com)(002,黄药师,男,1979-09-10, 19111223 ,43210@qq.com)(0003,黄蓉,女, 1988-10-06, 1362223335, 12222@a.com)(C004,洪七公,男, 1999-06-16, 13922335 ,22220q.com)(C005,梅超风,女,2002-07-11, 13655669,9, 4520. com)(0006,欧阳锋,男, 2006-08-08, 13955569, ,56222@q.com)

①实体(Entity)

实体(记录,元组)是客观存在且相互区别的事物。实体可以是具体的人、事、物或者抽象对象等。 实体集(,关系)是同类实体组成的实体集合。 如上例子中的一条记录即为实体。

②属性(Attribute)

属性即为每个实体的特性。如上例子即为户号,户名,性别,生日等。属性的取值范围称为域例如:户号的域为:C开头且后面为三位数字;性别的域为“男"或者“女"

候选键:

对于指定的实体集,能够区分每一个实体的最小属性集称为候选键(CK或者候选码)。候选键可以是一个属性,也可以是多个属性的组合,而且一个实体集可以有多个候选键。 在实际应用中,被选中使用的候选键,称为主键(PK或者主码)。如果实体集的所有属性组成这个实体集的候选键,则称为全键(Al keyAK,或者全码)。主键的取值不能相同,且一个实体集只能有一个候选键的所有属性称为主属性不包含在任何候选键中的属性称为非主属性

多个客户实体所组成的实体集的名称可以命名为“客户”。客户实体集的所有属性(例如:户号,户名,性别,生日,手机,婚否和邮箱)共同组成了客户实体集的型,即: 客户(户号,户名,性别,生日,手机,婚否,邮箱)

③联系(Relationship)

两个实体集之间的联系如下: 一对一联系(1 : 1):对于实体集A中的每一个实体,实体集B中有且只能有一个实体与之联系,反之亦然。 例如:出版社与社长之间的联系;学校与校长之间的联系等。 一对多联系(1 : n):对于实体集A中的每一个实体,实体集B中有n (n>2)个实体与之联系;反之,对于实体集B中的每一个实体,实体集A中有且只能有一个实体与之联系。 例如:出版社与图书之间的联系;学院与班级之间的联系;班级与学生之间的联系等。 多对多联系(m: n):对于实体集A中的每一个实体,实体集B中有n (22)个实体与之联系,反之,对于实体集B中的每一个实体,实体集A中有n(n>2)实体与之联系。

(2)逻辑模型

逻辑模型:概念模型的DBMS表示。主要包括:层次模型(1:n)(最早)、网状模型(n:n)(最复杂)、关系模型(最流行)和面向对象模型等。

关系模型组成层次属性(字段),元组(记录),关系(数据表),数据库等。

(3)物理模型

物理模型数据的存储模型,是对数据最底层的抽象,是逻辑模型的最终物理实现。

数据库系统的结构

数据库系统的模式结构是由外模式(用户模式)模式(逻辑模式)内模式(物理模式/存储模式)三级模式以及外模式/模式(保护数据逻辑独立性)和模式/内模式(保护数据物理独立性)二级映像构成的结构。

一个应用程序只能使用一个外模式

一个数据库只能有一个内模式

一个数据库可以有多个外模式

一个数据库只能有一个模式

二级映像反映三级模式之间的相互关系

数据库系统模式结构的优点: a.确保数据库的数据独立性; b.确保数据库的安全性和保密性; c.用户使用数据库更加灵感方便; d.提高了数据库的共享性,减少了数据冗余。

第二章 关系运算

2.1 关系运算语言

(1)关系代数语言

关系运算主要包括查询运算更新运算

查询运算:笛卡儿积、并集、交集、选择、投影、连接和除等。

基本运算:笛卡儿积、并集、差集、选择、投影。

导出运算:差集、连接和除

核心运算:选择、投影和连接

更新运算:插入、修改和删除等。

基本集合运算主要包括关系的笛卡尔积,交集,并集,和差集。

专用关系运算主要包括关系的选择、投影、连接和除。

连接:等值连接自然连接(特殊的去掉重复属性列的等值连接)

数据共享的主要手段是查询操作

查询处理需要经过查询分析、查询检查、查询优化和查询执行等阶段

查询优化规则:

(1)选择运算(减少元组数量)或者投影运算(减少属性个数)尽量先运算 (2)选择和投影尽量同时运算。 (3)投影运算尽量与其前后的双目运算同时运算(减少数据访问和扫描次数)。 (4)选择运算尽量与其前笛卡尔积合并为连接运算。 (5)提取公共代数表达式(减少数据访问和扫描次数,避免重复运算)。

查询优化方法: (1)查询的关系代数表示。 (2)绘制初始查询树。 (3)分解选择和投影运算,更新查询树。 (4)合并选择和投影运算,更新查询树。 (5)结点分组,连接运算,优化查询树。 (6)生成查询优化器,提供查询优化方案。

第三章 数据完整性

数据库完整性是指数据的正确性(例如性别只能选男或者女)和相容性(查询的数据必须真实存在)

数据完整性包括:实体完整性(区分元组的有效方法)、参照完整性(确保数据相容性的主要方法)、用户定义完整性(确保数据准确性的有效方法)

外键S的属性A不是S的主键,而是R的主键,则A是S的外键

实体完整性:主属性的取值不能为空值,主属性的候选键的取值要非空且唯一

参照完整性:如果X是关系R的主键,Y是关系S的外键,且X与Y相对应,则Y的取值要么为空值,要么取X的值。

用户定义完整性:用户根据系统需求自己定义的约束条件

完整性控制机制

为了保证数据完整性,完整性控制机制应该具备:定义功能、检查功能、违约处理等功能,即:”定义“+”检查“+”违约处理“

定义功能

通过定义功能提供的接口,如create table M(CNo char(22) primary key not null)

检查功能

检查用户操作是否违背了完整性约束条件,一般有两种检查方式:立即检查方式和延迟检查方式

立即检查:在一条语句执行完后,立即检查完整性约束条件的方式(一般适用于单语句单功能的简单操作)

延迟检查:指定的任务要在多条语句完全执行后才能够完成(多条语句完成一个完整的功能)

违约处理

常见的违约处理方式(针对插入,删除等更新操作):拒绝更新,置空和级联更新

拒绝更新:对于违约操作仅仅提供违约信息,并不采取任何有效的处理,而是直接拒绝执行更新操作(常用于拒绝更新主键和外键

置空:对于违约操作设计的数据,采取将数据置为空值的方法(主要对象为无约束属性(非主属性置空)外键约束属性(外键置空)

级联更新:对于违约的操作不简单的拒绝。根据实际情况,把违约更新转换为非违约更新,然后接受更新。

数据完整性实现

实体完整性的实现

(1)cno char(4) primary key

(2) cno char(22)

primary key (cno)

(3) 为创建的约束命名 cno char(4) constraint cno_pk primary key

(4) alter table M

add cno char(4) constraint cno_pk primary key(边定义新属性边建立实体完整性)

add constraint con_pk primary key(cno)(对已经定义的属性)

(5) 删除已存在的约束 alter table.....drop constraint

alter table M drop constraint con_pk

参照完整性的实现

(1)foreign key (cno) references M(cno)

(2)cno char(4) references M(cno)

(3)级联更新

on delete cascade

on update cascade

(4)constraint cno_fk foreign key (cno) references M(cno) (加上命名建立外键)

用户定义完整性的实现

(1)bno char(20) check(bno like 'ISBN[0-9]%') (检查bno是否为ISBN和一个数字开头,%表示多个字符)

(2)bno char(22) constraint bno_pk check(bno like 'isbn[0-9]%')

触发器和断言

触发器:

(1)create trigger trig_up(触发器名) on M(表名)

(2)create trigger trih on M after delete,update as raiserror('不能修改信息!',16,10)(不允许修改和删除)

(3)drop trigger trip(删除trip触发器)

断言:

(1)create assertion ass_zjgs check(50>(select max(sprice) from book where pname="浙江工商大学"))(创建ass_zjgs断言,要求出版的书售价不可高于50)

(2)drop assertion ass_zjgs

第四章 SQL

4.1 SQL介绍

SQL特点:综合统一,语法简单、易学易用,面向集合操作,高度非过程化,一语多用

SQL Server支持数据库系统三级模式结构,即存储文件—内模式表—模式视图—外模式

4.2 创建数据库

4.2.1 创建数据库

create database ebook

on (name='ebook',filename='D:\mydate\ebook.mdf',size=10MB,filegrowth=10MB,maxsize=unlimited)

log on (name='ebooklog',filename='D:\mydate\ebook.ldf',size=5MB,filegrowth=5%,maxsize=2000MB)

4.2.2 创建表

特殊语句

(1)email char(26) check(charindex('@',email)>0) (要求email里包含@)

(2)price decimal(6,2)(6表示左边的位数,2表示小数位数)

(3)pdate date default datename(year,getdate())+'-'+datename(month,getdate())+'-'+datename(day,getday())(获得当前日期)

修改表alter table表示修改该表):

(1)添加属性 alter table M add cno char(20)

(2)修改属性 alter table M alter column cno date

(3)删除属性 alter table M drop column cno

编辑表记录

(1)添加表记录 insert into M(name,age,sex) values('sa',12,'男')

(2)修改表记录 update M set name="wn" where cno='coo9'

(3) 删除表记录 delete from M where cno='C004'

删除表

(1)drop table M

4.3 数据查询

4.3.1 集合查询

(1)笛卡尔积 select * from M,F

(2)并集 select cno from M where bno='009' union select cno from F where bno='008'

(3)交集 select cno from M where bno='009' intersect select cno from F where bno='008'

(4)差集 select cno from M where bno='009' except select cno from F where bno='008'

4.3.2 单表查询

(1)选择 select * from M where age<=18

(2)投影 select distinct(去重) cno from M where age<=18

(3)更名 select cname 姓名 from M (将cname改名为姓名)

(4)区间 select cno from M where price between 10 and 20

(5)枚举 select cno from M where cno in ('c001','c002')

(6)模糊 %表示任意长度字符 _表示单个字符 escape表示转义 []表示与其中字符进行匹配 ^表示不与 (where cno like 'isbn#_[0-9]' escape'#')表示#为转义字符

(7)统计 select max(price) from M /// select sum(price)/count(price) from M group by bno//select count(cno) from M group by bno having count(cno)>=5

(8)排序 ASC升序 DESC降序 select * from M order by price DESC

(9)空值 select * from M where pdate is null

4.3.3 多表查询

(1)内连接(条件连接) select * from M,F where M.cno=F.cno

(2)外连接(左外连接,右外连接) select M.cno where M left join N on (M.cno=N.cno)

(3)嵌套 select bno from M where cno in (select cno from F where cname='mike' )

(4)any/all

第五章 概念模型和逻辑模型

5.1 概念模型

E-R图:属性-椭圆表示 实体-矩形表示 联系-菱形表示

5.2 逻辑模型

14d6ff61804208ff4f38fd4698bea15

5.2.1 实体转换

即 实体(主属性,属性,属性。。。)

79e291f722198abf4995a6a8300c885

5.2.2 联系转换

(1) 多对多联系转换

c4955998d066bc7164ecd3223e31740

(2)一对多联系转换

3584aa38f8c708d38536aeb7ec281c7

(3)一对一联系转换

35b8d173445ec2690e36bbd0ce2ff85

第六章 关系规范化

6.1 函数依赖

平凡函数依赖:(sno,cno)→sno

非平凡函数依赖: (sno,cno)→date

完全依赖 : (sno,cno)→date(date只依赖于sno,cno)

部分依赖: (sno,cno)→date, cname→date

传递依赖 X→Y,Y→Z--------X→Z

6.2 范式

第一范式:R(U,F)的所有属性都是不可再分的最小数据项

第二范式:R的每一个非主属性完全依赖于R的候选键

第三范式: R的每个非主属性不传递函数依赖于R的候选键

BC范式:摆脱主属性部分和传递依赖,若每个非平凡函数依赖都含有候选键则满足BC范式

6.3 关系模式规范化

6.3.1 Armstrong公理

25ac7fc8eb06ae620fcb5e96a425a03

6.3.2 最小函数依赖集

(1)函数依赖的右边均为单属性

(2)不包含冗余函数依赖

(3)函数依赖左边无冗余属性

6.3.3 关系模式分解

等价分解:信息不变,依赖不变

保连接分解:关系不变,依赖变

保依赖分解:依赖不变,关系变

保连接算法:同花顺算法,并减方法

保依赖算法:投影并方法

3NF分解的保依赖算法:1.求最小依赖集 2.去除冗余,依赖变子集 A

3NF分解的保连接保依赖算法:1.求最小依赖集 2.去除冗余,依赖变子集 3.找出候选码加入

第七章 数据安全

DBMS提供的数据保护功能包括数据安全、数据完整、数据并发和数据恢复

数据安全标准:4组7等级(C1自主存取保护,B1强制存取保护)

数据安全控制包括用户鉴别,数据完整性,数据存取控制,视图,审计和数据加密等

用户鉴别的方式:静态鉴别和动态鉴别

数据存取控制包括定义权限和检查权限

数据存取控制方法包括自主存取控制(DAC)(可以授权)和强制存取控制 (MAC) (规定等级)

视图是利用查询语句定义的,从一个或者多个表中导出的虚表。(外模式

视图的特点:1.虚表 2.视图数据为临时数据 3.视图数据自动更新 4.利用视图创建视图

视图建立:

(1)建立视图 create view miuk as select * from M

(2)删除视图 drop view miuk

(3)更新视图 insert into miuk(cno,cname) values('oo9','as')

update miuk set cno='mas' where cname='sa'

delete from muik where cno='oo9'

视图的作用:1. 简化用户操作 2.清晰表达查询 3.同一数据可以以不同的形式提供给不同用户 4.在一定程度上确保了数据安全 5.在一定程度上提供了逻辑独立性

审计和数据加密:

审计是用来监视并记录对数据库的操作行为,实时智能地解析对数据库的各种操作,并记入审计日志,一边日后进行查询,分析和过滤,实现对用户操作的监控和审查

审计事件主要包括:服务器事件,系统权限,语句事件和模式对象事件

第八章 并发控制

事务用户定义的一个数据库操作序列,是一个不可拆分的工作单元。

事务具有原子性(要么做完,要么不做)、一致性(执行结果始终一致)、隔离性(并发事务之间互不影响)和持续性(事务产生的影响永久生效)(ACID)

并发控制的问题:丢失修改、读脏数据、不可重读

排他锁(X锁,写锁)

共享锁(S锁,读锁)

一级封锁协议:修改A时对其加X锁,直至事务结束(解决丢失修改

二级封锁协议:在一级基础上,在读取A时先对其上S锁读取结束立即释放(解决读脏数据

三级封锁协议:在一级基础上,在读取A时先对其上S锁事务结束立即释放(解决不可重读

两段锁协议(2PL):所有事务按照加锁阶段和解锁阶段

并发事务的串行调度:按顺序执行(用于验证并行调度,称为并发事务的可串行化

并发事务的并行调度:同时执行并行事务

死锁预防:预防死锁(一次封锁法和顺序封锁法)和诊断解除(超时法,等待图法)

死锁解除:1. 超时法死锁 2.等待图死锁

第九章 数据恢复

故障:

  1. 事务故障(事务T遭到强行终止) :撤销事务undo+执行回滚rollback(系统自动)

  2. 系统故障(软故障,计算机硬件故障):撤销undo(逆向)+回滚rollback+重做redo(正向)(系统自动)

  3. 介质故障(硬故障,磁盘,磁带,光盘故障): 重装数据库,重做已完成的事务(DBA加自动)

  4. 病毒故障

数据恢复的核心技术建立冗余数据利用冗余数据实施数据库恢复

建立冗余数据的技术数据转储登记日志文件

数据转储分类:

(1)静态转储:在无事务运行时,进行数据转储。期间不可访问数据库(降低并发度

(2)动态转储:在有事务运行时,进行数据转储。期间访问数据库(破坏数据一致性

(3)海量转储:转储数据库全部内容(需要空间)

(4)增量转储:只转储上一次转储后更新的数据(复杂)

日志文件

日志文件:记录事务对数据的更新操作的文件一记录增册改查的动作

日志文件分类:记录日志文件数据块日志文件等。

(1)记录日志文件

记录日志文件:以记录为单位的日志文件。

主要内容包括:

①事务标记(事务开始标记,事务结束标记,事务名称等)。

②事务操作类型(插入,修改,删除)。

③事务操作对象。

④更新前数据旧值。

⑤更新后数据新值。

(2)数据块日志文件

数据块日志文件:以数据块为单位的日志文件。

主要内容包括:

①事务标记(事务开始标记,事务结束标记,事务名称)。

②更新前数据块旧值。

③更新后数据块新值。

登记日志文件,必须遵守如下规则

(1)严格按照并发事务执行的时间次序依次登记

(2)先登记日志文件,后更新数据库。

检查点记录:用于记录在检查时间点正在执行事务清单的日志记录。(需登记到日志文件)(动态维护日志文件

检查点记录主要内容:1.检查点时间正在执行的事务清单 2.事务清单中,最近一个日志地址的地址

重新开始文件:记录检查点记录在日志文件中的位置

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据库系统原理(第二版)知识点总结 的相关文章

  • MySQL 中的创建/写入权限

    我的设备遇到一些权限问题SELECT INTO OUTFILE陈述 当我登录数据库并执行简单的导出命令时 例如 mysql gt select from XYZ into outfile home mropa Photos Desktop
  • 数据库中的 HTML 标签是不好的做法还是好的做法?

    有时我需要格式化来自数据库的特定数据或部分数据 例如 如果我有这样的 desc 存储在数据库中 HTML 4 经过调整 延伸和增强 超出了其最初的范围 为网站带来了高水平的交互性和多媒体 Flash Silverlight 和 Java 等
  • 如何在 Sequelize 现有模型中添加列?

    我使用此命令添加了模型和迁移文件 node modules bin sequelize model generate name User attributes firstName string lastName string email s
  • 用于全文搜索和 2 亿多条记录的数据库

    我即将创建一个包含至少 2 亿个条目的庞大数据库 数据库需要可使用全文进行搜索 并且速度应该很快 我的数据库从许多不同的数据源获取数据 我需要定期导入新的或更新的数据 将我的所有数据存储在像 mysql 这样的关系数据库中 然后创建一个 n
  • 从 SQL 数据库获取日期时间

    我的数据库表中有一个 DateTime 记录 我编写一个查询从数据库中获取它 string command2 select Last Modified from Company Data where Company Name Descrip
  • where 子句中的双 %% ?

    我有一个 where 子句 如下例所示 WHERE subject LIKE chef AND dep LIKE psy 使用 1 或 2 符号有什么区别 我知道其中一个的含义 通配符 但不知道第二个添加的功能是什么 该查询可能是一个拼写错
  • Postgres 从 10 升级到 12:pg_upgrade 由于存在所需库而失败

    usr pgsql 12 bin pg upgrade gt b usr pgsql 1 pgsql 10 pgsql 12 gt b usr pgsql 10 bin gt B usr pgsql 12 bin gt d var lib
  • 重命名猫鼬中的字段[重复]

    这个问题在这里已经有答案了 我有两个 JSON 对象 每个对象都有一个名字字段 我想将名字重命名为名称 还想使用猫鼬将现有的名字值导入到名称 Schema const mongoose require mongoose const Sche
  • 如何删除MySQL中的所有事件

    如果我想删除某个事件 我需要查询类似的内容 DROP EVENT IF EXISTS eventname 但我找不到一次性删除所有事件的命令 必须一项一项地删除 有没有一次性删除所有事件的SQL DROP EVENT IF EXISTS S
  • 如何使用 SharedPreferences 保存多个值?

    我正在开发一个字典应用程序 在我的应用程序中 我假设用户想要保存最喜欢的单词 我决定使用共享首选项保存这些值 我知道 SQLite 和文件更好 但我坚持使用 SharedPreferences 所以继续使用它 下面是我的代码 Overrid
  • Dapper 在执行时挂起

    我有一个 IDb连接 sql UPDATE 表名 SET json json lastupdate SYSDATE WHERE id id var param new DynamicParameters param Add json jso
  • 如何设计具有主键和多值属性的表?

    我对数据库设计很感兴趣 现在正在阅读相应的文献 通过这本书 我遇到了一个让我感到不确定的奇怪例子 有一个关系 在此表中 我们有一个复合主键 StudentID Activity 但ActivityFee部分依赖于表的key Activity
  • 如何使 cx-oracle 将查询结果绑定到字典而不是元组?

    这是我的代码 我想找到一种方法将查询结果作为字典列表而不是元组列表返回 看起来 cx oracle 通过部分文档讨论 绑定 来支持这一点 虽然我不知道它是如何工作的 def connect dsn cx Oracle makedsn hos
  • SQLAlchemy:如何过滤日期字段?

    这是模型 class User Base birthday Column Date index True in database it s like 1987 01 17 我想在两个日期之间进行过滤 例如选择 18 30 年区间内的所有用户
  • 在 Python 中打开 Alteryx .yxdb 文件?

    有没有办法将 yxdb Alteryx 数据库文件 导入到 Pandas Python 中 而不使用 Alteryx 作为中间人 简短的回答是否定的 目前还不行 更长的答案 yxdb 支持的原始 C 是可以在 github 上找到 http
  • 在没有数据库的情况下运行 WordPress

    我一直在寻找一种将 WordPress 配置为仅使用文件系统数据库运行的方法 有点像 Java 中或内存中的 H2 任何人 仅用于演示目的 不可能 Wordpress 的要求之一是 MySQL http wordpress org abou
  • 直接从表中选择和视图之间的区别

    直接从表中选择数据或从视图中选择数据有什么区别 每一种的最佳用途是什么 根据微软的说法 如果你使用的话会有性能优势indexedSQL Server 2000 2005 2008 中的视图 索引视图可以通过以下方式提高查询性能1 可以预先计
  • oracle嵌套表的最大行数是多少

    CREATE TYPE nums list AS TABLE OF NUMBER Oracle 嵌套表中最大可能的行数是多少 UPDATE CREATE TYPE nums list AS TABLE OF NUMBER CREATE OR
  • drupal 7 将实际内容存储在数据库中的哪里?

    我打开了 drupal 7 的数据库并在表中查找node node revisions and node types并且找不到 drupal 存储实际的位置body节点 内容 的 有人有线索吗 哦 我刚刚找到了 在 D7 中 他们实现了字段
  • mysql 中 INSERT 语句的计算列

    假设我想要一个表来记录其他表中的日期和列数 或者任何类型的数学 字符串连接等 CREATE TABLE log id INTEGER NOT NULL AUTO INCREMENT date DATETIME NOT NULL count

随机推荐

  • 模板的特化和萃取

    之前对模板化编程进行了总结 详见https blog csdn net timecur article details 89949643 这篇将介绍模板的重要概念 模板特化 模板的特化 模板针对某些具体的类型不能处理或者处理结果有误 就需要
  • vue项目开发流程

    1 创建项目 1 首先创建项目 我用的项目是vue 3 0 可以在新建文件夹中cmd 进入命令符 vue create 项目名 创建项目也可以在 命令符中vue ui 在浏览器中创建项目 2 项目安装好后 安装自己需要的各种插件 3 我们常
  • 【C语言技巧】STM32实现 printf 打印语句

    包含头文件 include
  • 计算机英语 st,1st、2nd、3rd、…10th都是什么的缩写?怎么读?10th之...-1st-英语-司俜辰同学...

    概述 本道作业题是司俜辰同学的课后练习 分享的知识点是1st 指导老师为任老师 涉及到的知识点涵盖 1st 2nd 3rd 10th都是什么的缩写 怎么读 10th之 1st 英语 下面是司俜辰作业题的详细 题目 1st 2nd 3rd 1
  • mysql的高级查询实例_MySQL高级查询---连接查询实例

    MySQL高级查询 连接查询实例 使用sql查询很简单 很基础的SQLECT语句查询 如果想从多个表查询比较复杂的信息 就会使用高级查询实现 常见的高级查询包括多连接查询 外连接查询与组合查询等 今天我先学习最常用的连接查询 我先以一张pe
  • 编译qt5.9-arm-qmake

    一 arm gcc环境配置 tar xvf rock3288 kernel arm linux gcc C opt vim basgrc 在最后面添加 export PATH opt gcc linaro arm linux gnueabi
  • Android EditText文本改变监听和获取到焦点的监听

    开发app快两年了 总结了一些小知识 以前没时间发表 最近有时间了 和大家分享一下 别忘记初始化 EditText edtUserName 添加文本改变的监听 edtUserName addTextChangedListener new T
  • VSCode离线汉化教程

    VSCode汉化包下载路径 https marketplace visualstudio com items itemName MS CEINTL vscode language pack zh hans 选择 Version Histor
  • 代码丢了不要怕,有jar包就能反编译找回

    推荐一个好用的反编译工具 直接上下载地址 http jd benow ca 根据自己的电脑下载版本 我下载的是windows版本 压缩包解压运行 打开jar包找到你的代码 注意 如果jar包也没有的就想想该重写了
  • C++类和对象:补充拷贝构造

    前言 如果一个类中什么成员都没有 简称为空类 空类中什么都没有吗 并不是的 任何一个类在我们不写的情况下 都会自动生成下面6个默认成员函数 目录 一 六大函数 1 构造函数 1 定义 2 特性 3 赋值 4 初始化列表 2 拷贝构造函数 3
  • Linux基础命令大全(下)

    作者 小刘在C站 个人主页 小刘主页 每天分享云计算网络运维课堂笔记 努力不一定有回报 但一定会有收获加油 一起努力 共赴美好人生 夕阳下 是最美的绽放 树高千尺 落叶归根人生不易 人间真情 目录 前言 编辑 一 命令到末行模式
  • 今日头条 文章采集_如何利用文章在今日头条引流精准粉

    今日头条这个平台 基本上从事互联网项目的人应该都知道 平台流量本身是非常庞大的 采用大数据算法推荐机制 自动采集判断用户的喜好 并且推荐的量也是非常可观的 对于那些知名作者而言 一篇文章即可拥有几十万甚至数百万的阅读量 这么大的一个流量池摆
  • Java调用Win API

    官方网站 http jawinproject sourceforge net 把lib文件夹下的jawin jar和jawin stubs jar放到 JAVA HOME jre lib ext 目录下 把bin文件夹下的jawin dll
  • 永磁同步电机矢量控制到无速度传感器控制学习教程(PMSM)(一)

    一个阶段的学习结束了 整理了之前的过程中的学习成果 已经过了工作的年纪 在这里稍微出一下自己做的一套永磁同步电机的教程 从基础的矢量控制 到应用性较强的MTPA 弱磁控制等 最后深入到无速度传感器的控制 搜集了三种无速度的方法 足够大家从基
  • html/css笔记 table表格文本垂直水平居中对齐方法

    简介 平时工作中开发经常会遇到html网页样式设计 这里记录一下笔记方便后期查看 也顺便给其他人提供一个参考 HTML 文本垂直水平居中对齐方法 一 css样式 水平居中 text align 应用于块级元素的文本水平居中 text ali
  • React 中ref的几种用法

    React 中ref的几种用法 1 字符串 通过 this refs a 来引用真实dom的节点 dom 节点上使用
  • 结构光相机国产、非国产统计参数对比分析

    结构光相机国产 非国产统计参数对比分析 1 Kinect v1 Kinect v1深度相机拥有一个RGB彩色摄像头 一个红外线CMOS摄像机和一个红外发射器 相机的红外线CMOS摄像机和红外发射器以左右水平的方式分布 该相机采用的是以结构光
  • Unix环境下Oracle数据库完全优化详解

    Unix环境下Oracle数据库完全优化详解 2007 04 19 12 54 02 作者 changelive 浏览次数 14 文字大小 大 中 小 进入论坛 如今的优化己经向优化等待 waits 转型了 实际中性能优化最根本的出现点也都
  • Windows驱动开发第11课(R3与R0通信交换数据第二节)

    在上一节课我们证实了在用户层调用CreateFile函数时 相应的在驱动层会响应一个IRP MJ CREATE的事件 这节课我们来看看用户层和驱动层是怎么交换数据的 首先来介绍一下控制码 由CTL CODE宏创建 是一个唯一的32位系统I
  • 数据库系统原理(第二版)知识点总结

    目录 第一章 概述 基本知识 数据模型 数据模型的组成要素 数据模型的分类 数据库系统的结构 第二章 关系运算 2 1 关系运算语言 1 关系代数语言 第三章 数据完整性 实体完整性 主属性的取值不能为空值 主属性的候选键的取值要非空且唯一