数据库基础知识大汇总

2023-06-16 0 714

责任编辑对统计计算机程序的科学知识展开了全面性剖析和归纳,一则该文瞧瞧你专业委员会“统计计算机程序”。

数据库基础知识大汇总

一、统计数据源

三大统计数据源

概念数学模型:按使用者的看法来对统计数据来对统计数据和重要信息可视化,主要就用于统计资料库结构设计。方法论数学模型:主要就主要就包括层次数学模型、柱状数学模型、关系数学模型,它是依照电脑控制系统的看法对统计数据可视化,主要就用作DBMS的实现。

统计数据源的共同组成基本要素:统计计算机程序、统计数据操作形式、准确性束缚

统计计算机程序:统计资料库共同组成第一类和第一类之间联络的叙述。统计数据操作形式:对统计资料库中各种第一类的示例容许继续执行的操作形式的子集。准确性束缚:统计数据源要满足用户的束缚条件。主要就包括虚拟准确性、参考准确性、使用者表述准确性。

二、关控制系统计资料库国际标准词汇SQL——SQL简述

SQL的共同组成

统计数据表述(Data Definition):用以表述统计资料库结构,主要就包括表述表、快照和检索。统计数据操作形式(Data Manipulation):主要就包括统计数据查阅和统计数据预览三大操作形式。统计数据预览主要就包括填入、删除和修正操作形式。统计数据掌控(Data Control):主要就包括对统计数据的可靠性掌控、准确性准则的叙述和对外交事务的表述、mammalian掌控和恢复正常。

SQL的特征

综合性国际标准化:SQL中的DDL、DML、DCL词汇艺术风格国际标准化,可以独立顺利完成统计资料库开发周期中的全数活动。度非过程化:SQL展开统计数据操作形式,如果提出做什么,不需要详述怎么做。操作形式过程由控制系统手动协助你顺利完成。面向全国子集的操作形式形式需在一种句法提供多种不同使用形式:既是分立的词汇,又是PDP词汇。词汇简约、初学功能强大。

三、关控制系统计资料库国际标准词汇SQL——统计数据表述

数据库基础知识大汇总

商业模式的表述与删掉

//如果句子里头没有商业模式名,则预设商业模式名叫帐号 create scheme <商业模式名> authorization <帐号>
drop scheme <商业模式名> <cascade|restrict> //cascade:表示删掉商业模式时同时把该商业模式下的所有统计资料库第一类全数删掉 //restrict:表示如果该商业模式下已经表述了统计数据库第一类,则拒绝删掉该商业模式

基本表的表述、删掉、修正

create table student( sno varchar(50) primary key,//列级准确性束缚,主码 sname varchar(50) unique,//取唯一值 ssex int, sage smallint sdept char(20), //primary key(sno),表级准确性束缚 foreign key sdept references school(sdept)//外码 );

统计数据类型:

数据库基础知识大汇总

商业模式与表:表述基本表时表述其商业模式

//第一种方法,显示的表述 create table ST student(….) //第二种方法,在创建商业模式句子的同时创建表

修正基本表

alter table <表名> [add <新列名> <统计数据类型> [准确性束缚]] //增加新列,并指定统计数据类型和准确性 [drop <准确性束缚名>] //删掉某列的准确性 [column <列名> <统计数据类型>]; //修正列的统计数据类型

删掉基本表

drop table <表名>; //一旦删掉基本表,则表中的所有统计数据都被删掉

检索的建立和删掉:建立检索是加快查阅速度的有效手段

create [unique][cluster] index <检索名> on <表名> <列名> [<次序>]…..
检索可以建立在表的一列或多列上,每个列名的次序指定检索值的排序次序,主要就包括ASC和DESC,缺省为ASCunique表明此检索的每一个检索值只对应唯一的统计数据记录;cluster表示要建立的检索是聚簇检索,即表中记录的物理顺序与检索值的顺序一致。删掉检索
drop index <检索名>

RDBMS中检索一般采用B+树、HASH检索来实现。B+树具有动态平衡的有点,HASH检索具有查找速度快的特征。

四、关控制系统计资料库国际标准词汇SQL——统计数据查阅

数据库基础知识大汇总

单表查阅

目标表达式不仅可以是表中的属性,也可以是算数表达式;目标表达式不仅可以是表达式,还可以是字符串常量、函数等。

//目标列表达式 select sno,2016sage from student; //字符串常量 select number:,sno,age:,sage from student; //更改查阅结果的列名 select sno number,sage age from student;

消除重复的行:distinct

select distinct sname from student;

查阅满足用户条件的元组:where

数据库基础知识大汇总
//比较大小 select sname,sage from student where sage<20; //确定子集 select sname from student where sdept in(CS ,MA); //字符串匹配,%表示任意长度的字符串,_表示任意单个字符 select sname from student where sname like 林_ _; //汉字要占两个字符,所以要两个_ //escape \ 表示\为转换字符,这样紧跟在\之后的通配符就不具有通配符的含义,只是普通的字符 select cno from course where cname like db\_design escape \; //空值查阅 select sno,cno from sc where grade is null; //多重条件查阅使用and和or

order by子句:表示对查阅结果依照一个或多个属性列的升序(ASC)或降序(DESC)排列,缺省值为升序。

select sno,grade from sc where cno=3 order by grade desc;

聚集函数:

数据库基础知识大汇总
select count(*) from student where sname like lin%;

group by子句:查阅结果按某一列或多列的值分组,值相等的为一组。对查阅结果分组目的是为了细化聚集函数的作用第一类。如果未对查阅结果分组,聚集函数将作用作整个查阅结果。分组后聚集函数将作用作每一个组,即每一组都有一个函数值。Having句子是对分组后的组按一定的条件展开筛选,最终只输出满足用户指定条件的组。

//student表中同名的人 select sname from student group by sname having count(*)>1;

where子句与having短语的区别在于作用第一类不同,where子句作用作基本表或快照,having短语作用与组。

连接查阅

等值于非等值连接查阅

//[<表名1>.]<列名1> <比较运算符> [<表名2>.]<列名2> //比较运算符有:= > < //=时为等值连接,其他的运算符为非等值连接 select student.*,sno.* from student,sc where student.sno=sc.sno;

select与where子句的属性名都加上表名前缀,是为了避免混淆。如果属性名在参加连接的各表中是唯一的,则可以省略表名前缀。

自身连接

连接操作形式不仅可以在两个表之间展开,也可以是一个表与其自己展开连接。

//同一个表展开连接,需要为表另取名 select first.cno,second.cpno from course first,course second where first.cno=second.cpno;

外连接:在连接谓词的某一边加符号*

外连接就好像是为符号*所在边的表增加一个“万能”的行,这个行全数由空值共同组成。它可以和另一边的表中所有不满足用户连接条件的元组展开连接。连接符出现在右边称为右外连接,出现在左边称为左外连接。
select student.* from student,sc where student.sno=sc.sno(*);

复合条件连接

where子句中可以有多个连接条件,成为复合条件连接。

select student.sno,sname from student,sc where student.sno=sc.sno and sc.cno=2 and sc.grade>90;

两个表以上展开连接,可以成为多表连接。

select student.sno,sname,cname,grade from student,sc,course where student.sno=sc.sno and sc.cno=course.cno;

嵌套查阅

将一个查阅块嵌套在另一个查阅块的where子句或having短语的条件中的查阅成为嵌套查阅。

SQL词汇容许多层嵌套查阅。子查阅select句子中不能使用order by子句,该子句只能对最终查阅结果排序

select sname from student where sno in (select sno from sc where cno=2)

子查阅结果往往是一个子集,所以谓词in是嵌套查阅中最经常使用的谓词。

带有比较运算符的子查阅:可以使用> < =等比较运算符

select sname from sc x where grade > (select avg(grade) from sc y where x.cno=y.cno)

带有any或all谓词的子查阅

数据库基础知识大汇总
select sname,sage from student where sage<any (select sage from student where sdept=cs);

带有EXISTS谓词的子查阅:不返回任何统计数据,只产生方法论真“true”或方法论假“false”。EXISTS引出的子查阅,其目标列表达式通常为*,因为其结果为真假值,给出列名没有意义。

select sname from student where exists (select * from sc where sno=student.sno and cno=1);

子集查阅

并(UNION)、交(INTERSECT)、差(EXCEPT)

//参加UNION操作形式的各结果表的列数必须相同,对应项的统计数据类型也必须相同 select * from student where sdept=cs union select * from student where sage>19;

五、关控制系统计资料库国际标准词汇SQL——统计数据预览

填入统计数据

insert into <表名> [<属性列1> [,<属性列2>]…] values(<常量1> [,<常量2>]…)
insert into student values(lin,16,cs….); insert into student(sname,sage,sno) values(lin,16,cs);

填入元组

insert into student select * from student where sage>19;

修正统计数据

update <表名> set <列名>=<表达式> [,<列名>=<表达式>]… [where <条件>]
update student set sage=22 where sno=12346;

删掉统计数据

delete from <表名> [where <条件>]
//删掉某一个值 delete from student where sno=123456; //删掉多个元组的值 delete from student;

六、关控制系统计资料库国际标准词汇SQL——快照

快照概念

快照是从一个或几个基本表中导出的表,它是一个虚表。统计资料库只存放快照的表述,不存放快照对应的统计数据,其统计数据依旧存在统计资料库表中。所以统计资料库表中的统计数据发生变化,从快照中查阅的统计数据也将发生变化。

表述快照

create view <快照名> [(<列名> [,<列名>]…)] as <子查阅> [with check option]
子查阅可以是任意复杂的select句子,但通常不容许含有order by子句和distinct短语。with check option表示对快照展开update、insert、delete操作形式时要保证预览、填入、删掉的行满足用户快照表述中的谓词条件。共同组成快照的属性列名或者全数指定或者全数省略,没有第三种选择。如果省略了各个属性列名,则隐含该快照由子查阅中select子句目标列中的诸字段共同组成。
create view is_student as select sno,sname,sage from student where sdept=cs with check option;

快照可以建立在多个基本表上,也可以建立在一个或多个快照上。

删掉快照

drop view <快照名>

快照的查阅和预览

操作形式与统计数据表基本类似,但是还是有一些不同

数据库基础知识大汇总
数据库基础知识大汇总

六、统计资料库可靠性

统计资料库可靠性掌控

使用者标识和鉴别、存取掌控、操作形式控制系统安全保护、统计数据密码存储

统计资料库存取掌控方法

使用者权限由两个基本要素共同组成:统计数据第一类和操作形式类型

数据库基础知识大汇总

统计资料库存取掌控方法——授权与回收

表述一个使用者的存取权限就是要表述这个使用者可以在哪些统计数据第一类上展开哪些类型的操作形式。在统计资料库控制系统中,表述存取权限成为授权。

GRANT授权

grant <> [,<>]… on <第一类类型> <第一类名> [,<第一类类型> <第一类名>]… to <使用者> [,<使用者>]… [with grant option]

将对指定操作形式第一类的指定操作形式权限授予指定的使用者,发出该grant句子的可以是DBA,也可以是已经拥有该权限的使用者。接收权限的使用者可以是一个或多个具体使用者,也可以是PUBLIC,即全体使用者。指定WITH GRANT OPTION子句,则获得某种权限的使用者还可以把这种权限授权给其他使用者.

grant all privileges on table student,sc to user1 with grant option;

REVOKE回收

revoke <> [,<>]… on <第一类类型> <第一类名> [,<第一类类型> <第一类名>]… from <使用者> [,<使用者>]…

cascade会级联:依次向下收回权限

revoke insert on table student from user1 cascade;

创建统计资料库商业模式的权限

create user <username> [with] [dba|resource|connect]
数据库基础知识大汇总

审计

审计功能吧使用者对统计资料库的所有操作形式手动记录下来放入审计日记中。DBA可以利用审计跟踪的重要信息,重现导致统计资料库出现现有状况的一系列事件,中出非法存取统计数据的人、时间和内容等。审计通常是费时间和空间的,一般主要就用作可靠性要求较高的部门。审计一般可以分为使用者级审计和控制系统级审计。AUDIT句子用以设置审计功能,NOAUDIT用以取消审计功能。
audit alter,update on student; noaudit all on student;

七、统计资料库准确性

统计资料库的准确性

是指数据的正确性和相容性。主要就包括:虚拟准确性、参考准确性、使用者表述准确性。

虚拟准确性

一种表述为列级束缚条件,另一种表述为表级束缚条件。在create table中用primary key表述。准确性检查和违约处理。

参考准确性

在create table中用foreign key短语表述哪些列为外码列,用references短语详述这些外码参考哪些表的主码。对被参考表和参考表展开增删改查操作形式时很有可能破坏参考准确性,必须展开检查。
数据库基础知识大汇总
违约处理:reject(拒绝继续执行)、cascade(级联)、set-null(设置为空)
数据库基础知识大汇总

使用者表述准确性

针对某一具体应用的统计数据必须满足用户的语义要求

列值非空:NOT NULL短语

create table sc( sno char(7) not null, sname char(10) not null);

列值唯一:UNIQUE短语

create table student (sname varchar(50) unique, sage int);

check:指定列值应该满足用户的条件

create table student (sage int check(sage>19), ssex char(10) check(ssex in (,)));

准确性束缚命名子句

提供constraint,用以对准确性命名

constraint <准确性束缚条件名> [PRIMARY KEY短语|FOREIGN KEY短语|CHECK短语]

八、统计资料库恢复正常技术

事务的基本概念

外交事务时一系列的统计资料库操作形式,是统计资料库应用程序的基本方法论单元。外交事务时使用者表述的一个统计资料库操作形式序列,这些操作形式要么全做要么全数做,是一个不可分割的工作单位。

数据库基础知识大汇总
begin transaction …. 统计资料库操作形式 commoit

外交事务具有以下特性:原子性、一致性、隔离性和持续性。

统计资料库恢复正常的实现技术

统计数据转储:定期将整个统计资料库复制到磁带或另一个磁盘上保存起来的过程。这些备用的统计数据文本成为后备副本或后援副本

数据库基础知识大汇总

登记日志文件:用以记录外交事务对统计资料库的预览操作形式的文件。

数据库基础知识大汇总

九、mammalian掌控

mammalian掌控简述

丢失修正:两个外交事务T1和T2读入同一统计数据并修正,T2提交的结果破坏了T1提交的结果,导致T1的修正被丢失。不可重复读:外交事务T1读取统计数据后,外交事务T2继续执行预览操作形式并写回统计资料库,使T1无法再现前一次读取结果。读“脏”统计数据:外交事务T1修正某一统计数据,并将其写回磁盘,外交事务T2读取同一统计数据后,T1由于某种原因被撤销,T2这时读到的统计数据就与统计资料库中的统计数据不一致。
数据库基础知识大汇总

mammalian掌控的主要就技术是封锁。

封锁

排它锁:又成为写锁(X锁)。若外交事务T对统计数据第一类A加上X锁,则只容许T读取和修正A,其他任何外交事务都不能再对A加任何类型的锁,直到T释放A上的锁。这就保证了其他外交事务在T释放A上的锁之前不能再读取和修正A。共享锁:又称为读锁(S锁)。若外交事务T对统计数据第一类A加上S锁,则外交事务T可以读A但不能修正A,其他外交事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这就保证了其他外交事务可以读A,但在T释放A上的S锁之前不能对A做任何修正。常用XLOCK表示对A上加X锁,SLOCK表示对A加S锁,UNLOCK A表示释放A上的封锁。

封锁协议

一级封锁协议:外交事务T在修改统计数据R之前必须先对其加X锁,直到外交事务结束才释放。其解决了丢失修正的问题。在一级封锁协议中,如果仅仅是读统计数据,不对统计数据展开修正,是不需要加锁的,所以它不能保证可重复读和不读“脏”统计数据。(只有在修正统计数据是才加上X锁,读统计数据时加S锁)二级封锁协议:一级封锁协议加上外交事务T在读取统计数据R之前必须现对其加S锁,读完后即可释放S锁。其解决了丢失修正和读脏统计数据。由于读完统计数据后即可释放S锁,所以它不能保证可重复读。三级封锁协议:一级封锁协议加上外交事务T在读取统计数据R之前必须先对其加S锁,直到外交事务结束才释放。其解决了丢失修正、读脏统计数据和不可重复读。
数据库基础知识大汇总
数据库基础知识大汇总

mammalian调度的可串行性

多个外交事务的mammalian继续执行是正确的,当且仅当其结果与按某一次序串行地继续执行它们时的结果相同,称这种调度策略为可串行化的调度。可串行性是mammalian外交事务正确性的准则。按这个准则规定,一个给定的mammalian调度,当且仅当它是串行化的,才认为是正确调度。

封锁的粒度

封锁第一类的大小称为封锁粒度。封锁的粒度越大,统计资料库所能封锁的统计数据单元越少,mammalian度就越小,控制系统开销越小。

十、统计资料库范式

统计数据依赖

是一个关系内部属性与属性之间的一种束缚关系,这种束缚关系是通过属性间值得相等与否体现出来的统计数据间相关联络。统计数据依赖中最重要的是函数依赖和多值依赖。

函数依赖

设R(U)是属性集U上的关系商业模式。X,Y是U的子集。若对于R(U)的任意一个可能的关系示例r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不能,则称X函数确定Y或者Y函数依赖于X,记作X->Y。

数据库基础知识大汇总

第一范式(1NF):如果一个关系商业模式R的所有属性都是不可分的基本统计数据项,则R为第一范式。(也就是不能出现表中表的情况,不满足用户第一范式则就不是关控制系统计资料库)。

第二范式(2NF):关系商业模式R是第一范式,并且每一个非主属性都完全函数依赖于R的码,则R为第二范式。消除了非主属性对候选码的部分依赖。

第三范式(3NF):关系商业模式R的每一个非主属性既不部分函数依赖于候选码也不传递函数依赖于候选码。显然R也属于第二范式。

BC范式(BCNF):R属于第一范式,如果对于R的每个函数依赖X->Y,并且Y不包含于X,则X必含有候选码,那么R属于BCNF(即R中的每一个决定因素都包含候选码)

BC范式既检查非主属性,又检查主属性。当只检查非主属性时,就成了第三范式。满足用户BC范式的关系都必然满足用户第三范式。符合3NF,并且,主属性不依赖于主属性。所有非主属性都完全函数依赖于每个候选码。所有主属性都完全函数依赖于每个不包含它的候选码。没有任何属性完全函数依赖于非码的任何一组属性。

第四范式(4NF):消除了多值依赖。

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务