快捷搜索:
来自 网络数据库 2019-06-17 08:31 的文章
当前位置: 67677新澳门手机版 > 网络数据库 > 正文

数据库基础知识点,自用数据库复习

   2.网状模型(图)
     优点:
      (1)能够更加直白地叙述现实世界
      (2)具备优秀的习性,存取效用高
     缺点:
      (1)结构复杂,随着应用情况的扩大,数据库的布局变得尤为复杂,不便利最后   用户掌握控制
      (2)网状模型的DDL DML复杂,并且要放置一门高档语言中,用户不利调整,不容 易使用
      (3)记录间的关联是透过存取路径完成的,应用程序在造访数据的时候必须采用适   当的积攒路线,因而用户必须询问系统结构的内情,加重了编辑应用程序的负责
    档次模型和网状模型统称为格式化模型
   
   3.关系模型(表)
    数据模型:
      关系:贰个事关对应一张表
      元组:表中的一作为三个元组
      属性:表中的一名列贰性子质
      码:也称码建,表中的有些属性组
      域:一种具备同等数据类型的值的联谊
      分量:元组中的壹天性质的值
    对涉嫌的讲述相似代表为:
      关系名(属性1,属性2,...,属性n)
     关系模型要求涉嫌必须是标准化的,关系的每一个份额必须是三个不可分的数据项
    完整性规则:
       实体完整性 主属性不能够为空
       参照完整性
       用户定义完整性    

DBMS

  drop table<表名>[restrict|cascade]
   若选拔restrict,则该表的删除是有限制条件的,欲删除的表不能够被别的表的封锁所引述(如check,foreign key等自律),不能够有视图、触发器、存储进度等。
   若选择cascade,则该表的去除未有范围规范。在删除表的同一时候,相关的重视性对象都将被一块删除
   默认restrict
 3.索引的树立和删除
  当表的数据量比极大时,查询操作会相比较耗费时间,创建目录时加快查询速度的有效手腕。
  create[unique][cluster]index<索引名>
   on <表名>(<列名>[<次序>][,<列名>[<次序>]]...)
   unique申明此索引的每贰个索引值只对应唯一的数目记录
   cluster表示要确立的目录时聚簇索引 聚簇:为了提升某些属性的查询速度,把这么些或这几个属性上具备的一样值的元组聚集存放在接连的物理块中称之为聚簇。
  alter index<旧索引名>rename to<新索引名>
  drop index<索引名>
 4.数额查询
  select[all | distinct]<指标表明式>[,<指标表明式>]...
  from<表名或视图名>[, <表名或视图名>...] | (select 语句)[as]<别名>
  [where<条件表明式>]
  [group by<列名1>[having<条件表明式>]]
  [order by<列名2>[asc|desc]]
  常用查询条件:
   =,>,<,>=,<=,!=,<>,!>,!<,not 上述相比运算符
    select * from student where sage<20
   between and, not between and
    select * from student where sage (not) between 20 and 23
   in,ont in
    select * from student where sdept (not) in('CS','MA','IS')
   is null,is not null
   and,or,not
   like
   [not]like'<匹配串>'[escape'<换码字符>']
    select * from course where cmane like 'DB_Design' escape''
   escape''表示""为换码字符,那样匹配串中紧跟在""后的字符"_"不再具备通配符的意义
    select * from student where sname like'刘%'
  通配符:
    % (百分号)代表专断长度(可为0)的字符串。a%b表示以a开端以b结尾的字符串
    _(下横线)代表私下单个字符。a_b表示以a开始,以b结尾长度为3的字符串
  聚焦函数
    count(*) 总结元组个数
    count([distinct|all]<列名>)  总结一列中值的个数
    sum([distinct | all]<列名>)  计算一列值得总和(此列必须是数值型)
    avg([distinct | all]<列名>)  总括一列值的平均值(此列必须是数值型)
    max([distinct | all]<列名>)  求一列中的最大值
    min([distinct | all]<列名>)  求一列中的最小值
      假使制定distinct短语,则意味在总计时要吊销钦定列中的重复值。默以为all
     select count(*) from student
     select count(distinct sno) from sc
     select avg(grade) from sc where cno = '1'
     select sum(grade) from sc, course where sno = '201215012' and sc.cno=course.cno
    当聚类函数境遇空值时,除count(*)外,都只跳过空值而只管理非空值
  连接查询
   等值与非等值连接
    select student.*,sc.* from student,sc where student.sno=sc.sno
   自己连接
    当course表中只有每门课的一贯先修课音信,而未有先修课的先修课时,要博取这几个音讯将要选择作者连接
    select first.cno,second.cpno from course first,course second where first.cpno=second.cno
   外连接
    inner join = join
    仍把悬浮元组保存在结果中
    select * from student left outer join(左外连接) sc on(或using)(student.sno=sc.sno)
    左外连接(LEFT OUTE科雷傲 JOIN或LEFT JOIN)、右外连接(LANDIGHT OUTECRUISERJOIN或奥迪Q5IGHT JOIN) 和全外连接(FULL OUTE安德拉 JOIN或FULL JOIN)
   多表连接
    select student.sno,sname,cname,grade from student,sc,course where student.sno=sc.sno and sc.cno=sourse.cno
   嵌套查询:
    带有in的子查询
    带有比较运算符的子查询
    带有any或all谓词的子查询
    带有exists谓词的子查询
    (不)相关子查询:子查询条件(不)信赖于父查询
    
  集结查询
   集结操作首要不外乎并操作union、交操作intersect、差操作except
  基于派生表的查询
   子查询不只能够出现在where字句中,还足以出现在from字句中,那时子查询生成的一时派生表成为主查询的询问对象
   select cno, cno fromsc, (select cno, avg(grade)from sc group by sno)as avg_sc(avg_sno,avg_grade) where sc.sno=avg_sc.avg_sno and sc.grade>=avg_sc.avg_grade
   即使实查询中一直不聚集函数,派生表能够不点名属性,子查询select字句前面包车型客车列名称为其私下认可属性。通过from字句生成派生表时,as关键字能够轻便,但不能够不为派生关系钦赐叁个别称
 5.数据更新
  插入数据
   插入元组
    insert into<表名>[(<属性列1>[, <属性列2>]...)] value(<常量1>[,<常量2>...])
   插入子查询结果
    insert into<表名>[(<属性列1>[, <属性列2>]...)]子查询
  修改数据
   update<表名> set<列名>= <表达式>[, <列名>= <表达式>]...[where<条件>]
   其职能是修改钦赐表中满意where字句条件的元组,个中set字句给出<表达式>的值用于取代相应的性质列值。假设省略where字句,则意味要修改表中的全数元组
   update student set sage = 22 where sno = '201215121'
   update student set sage=sage 1
  删除数据
   delete from<表名>[where<条件>]
   若省略where则删除表中的满贯元组
 6.空值的管理
  (1)发生:插入元组时,外接连
  (2)空值的论断:用is null或 is not null
  (3)空值约束原则:属性定义中有not null约束原则的不可能取空值,加了unique限制的习性无法取空值,码属性不可能取空值
  (4)空值的算术运算、相比运算和逻辑运算
   空值与另二个值的可比结实为unknown,在查询语句中,惟有使where和having子句中的采用原则为true的元组才被选出作为出口结果
 7.视图
  建立:
   create view<视图名>[(<列名>[,<列名>])] as<子查询>[with check option]
   个中子查询能够是任意select语句,是或不是足以涵盖order by字句和distinct短语,则在于具种类统的达成
   with check option 表示对视图实行update、insert的delete操作时要保险更新、插入和删除的行满意视图定义中的谓词条件(即子查询中的条件表达式)
   组成视图的习性列名也许全部简约只怕全体点名,未有第三种选用。若是轻巧了视图的次第属性列名,则带有该视图由子查询中select字句目的中的诸字段组成,但在下列二种情状下必须精晓钦赐组成视图的享有列名:
    (1)有些指标不是仅仅的属性名,而是聚焦函数或列表明式
    (2)多表连接时选出了多少个同名列作为视图的字段
    (3)须求在视图中为有个别列启用新的更合适的名字
   create view IS_student as select sno, sname, sage from student where sdept = 'IS'
   视图不仅能够创立在四个或多少个基本表上,也能够创设在一个或多少个已经定义好的视图上或树立在基本表与视图上。若某些视图是从单个表上导出的,并且只是去掉了基本表的少数行和有个别列,但保留了主码,则称那类视图为行列子集视图。
   带虚拟列的视图(帯表明式的视图)、分组视图
  删除:
   drop view<视图名>[cascade]
  查询:
   与表查询类似
  更新:
   (1)由于视图时不实际的贮存数据的虚表,由此对此视图的换代最终要转移为对中央表格的更新
   (2)并不是持有视图都能更新,因为有一些视图的翻新不能够唯一地有含义地调换到相对应基本表的创新
   (3)一般的,行列子集视图是可更新的。
  视图的机能:
   (1)简化用户操作
   (2)使用户能以各种角度对待同一数据
   (3)对重构数据库提供了自然水准的逻辑性
   (4)能够对神秘数据提供安全有限支撑
   (5)适当使用视图能够更清楚地发表查询
 8.授权:授予与收回
  授予:
   GRANT <权限>[, <权限>] …[ON <对象类型> <对象名>]
   TO <用户>[, <用户>] …[WITH GRANT OPTION];
    说明:
     WITH GRANT OPTION子句:若钦点了该子句,则赢得某种权力的用户还足以把该权限再予以别的用户;若未有一些名该子句,则获得某种权力的用户只可以使用该权限,不能够流传该权限。
  收回:
   REVOKE <权限>[, <权限>]…[ON <对象类型> <对象名>]
   FROM <用户>[, <用户>] …
 9.嵌入式SQL
  SQL语言提供了二种不一样的接纳办法
  交互式:作为独立语言在极限交互形式下选择,那是面向集结的描述性语言,是非进度性的。
  嵌入式:将SQL语言嵌入到某种高等语言中,利用高等语言的进程性结构完结事务管理。
 10.仓储进程
  创设存款和储蓄进程的语法:
   create procedure 存储进度名[{@参数名 数据类型}[=default][output]
   [{@参数名 数据类型}[=default][output]
   AS
   Select 语句
  如 CREATE PROCEDURE xs AS select * from student
   
   create procedure student_grade3
   @student_name char(10),
   @course_name char(20) = '数据库原理'
   as
   select sname, cname, grade
   from student s inner join sc on s.sno = sc.sno
   inner join course c on c.cno = sc.cno
     where sname = @student_name
     and cname = @course_name
  执行:
   exec 存款和储蓄进度名
    exec xs
    exec student_grade3 '王五'
    exec student_grade3 @student_name = ‘王五‘, @course_name = ‘数据库原理’
  修改:
   alter procedure 存储进度名 as select
  删除:
   drop procedure 存款和储蓄进度名
 11.触发器
  触发器是一种新鲜的积存进程。它与表紧凑相连,主要用于保障数据的完整性。
  语句: create trigger <触发器名> on <表名> for[before|after][instead of][insert | delete | update]
   AS
   SQL语句
   If update 测试insert 和update语句是不是对点名字段有震慑
   rollback

SQL数据查询

句型 Select - From - Where -;

Where 子句、 条件表明式

  • 算术运算符
  • 逻辑运算符 and 、 or 、 not
  • 集合成员身价运算符 in 、 not in
  • 谓词 exists、 all、 some、 unique(唯一)
  • 聚合函数 avg、min 、 max 、 sum 、 count
  • 子句的运算对象足以是另叁个select子句,即嵌套select语句

where s# in (select语句)
where exists (select语句)

Select子句

  • 聚合函数 count(*) count|sum|avg|max|min(<列名>)

select Count(*),Avg(age)
select count(distinct s#) form sc 因为能够选修多门,加了distinct,表达计算选课的食指,而不是上选修课的人次树

select完整句法

where行条件子句、 group分组子句、 having组条件子句、 order排序子句

select<列名序列或列表达式序列>
from<表和(或)视图序列>
[where<行条件表达式>]
[group by<列名序列>
    [having<组条件表达式>]]
[order by <列名[asc|desc]>,...]

select句法实践进度:

  1. 读取form子句表、视图的数目,试行笛卡尔积操作
  2. 慎选满意where子句中条件表明式的元组
  3. 按group子句钦命列的值分组,同不经常间提取满足having子句中组条件表明式的那多少个组
  4. 按select子句中提交的列名或列表明式求值输出
  5. order子句对出口的指标打开排序,升序排列Asc大概降序排列Desc。

(1)使用带有EXISTS谓词的子查询:查询全体选修了1号课程的上学的小孩子姓名。

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

(2)查询选修了全方位学科的学员姓名。

``` 1. select Sname from student where Sno IN
(select Sno from SC group by Sno
having count() = (select count() from course ))

select Sname from student S,
(select Sno from SC
group by Sno
having count() = (select count() from course )) C
where S.sno=C.sno

>> ```
3.
select sname from student 
where not exists ( select * from course where not exists (select * from sc where sc.sno=student.sno and sc.cno=course.cno))

(3)使用带有EXISTS谓词的子查询:查询全部选修了1号课程的学员姓名

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

Unique和distinct
> Unique是约束完整性的一种,distinct用于查询


####SQL更新 insert into 、 update set 、delect from
> 数据插入格式:
(1)单元组的插入
```INSERT  INTO  基本表名 [(列名表)] VALUES(元组值)```
(2)子查询结果的插入
``` INSERT  INTO  基本表名 [(列名表)]<SELECT查询语句>```
数据修改格式:
```UPDATE  基本表名
SET 列名=值表达式[,列名=值表达式…]  
[WHERE 条件表达式]```
数据删除格式:
```DELETE FROM基本表名
[WHERE 条件表达式]```
>>将一个新学生记录(学号:95020;姓名:陈冬;性别:男;所在系:IS;年龄:18岁)插入到Student表中。

insert into student values('95020','陈冬','男','18','IS')

>>Student_1表的内容插入到Student表

insert into Student1
select * from student

>>将学生95001的年龄改为22岁

update student set sage=22 where sno='95001'

>>将计算机科学系全体学生的成绩置零。

UPDATE SC
SET grade=0
WHERE 'CS'=(select Sdept FROM Student WHERE Student.Sno = SC.Sno)

>>删除计算机科学系所有学生的选课记录。

delete FROM sc where 'CS'= (select sdept from student where student.sno=sc.sno)

####视图 ( CREATE、DROP 、 INSERT、UPDATE、DELETE)
> 
CREATE VIEW <视图名>(列表序列)
AS <SELECT 查询语句>

CREATE VIEW STUDENT_GRADE as
select STUDENT.Sno,SNAME,CNAME,GRADE from STUDENT,sc,course where STUDENT.sno=sc.sno and sc.cno=course.cno

DROP VIEW 视图名
更新同表,但是更新有条件?
1. 行列子集视图(从单个基本表选择、投影导出的,且包含主键)
2. 允许更新的视图在定义时必须加上"with check option"

 范式:
  关周详据库中的关系是要满足一定供给的,知足差别等级次序供给的为不一致范式。
   1NF 第一范式 (知足最低需要的)属性不可再分
   2NF 第二范式 揽胜∈1NF 且非主属性完全注重于码
   3NF 第三范式 非主属性既不有的也不传递重视于码
   BCNF 日常被感觉是纠正的第三范式,一时也称之为扩展的第三范式 每贰个决定性的要素都包涵码
   在函数正视的层面内,bcnf到达了高高的的标准化水平。
  多值正视:
   设翼虎(U)是性质集U上的三个提到格局。X,Y,Z是U的子集,并且Z = U - X - Y。对给定的一对(x,z)值有一组Y的值,那组值仅仅决定于x值而与z值毫无干系,关系格局Lacrosse(U)中多值注重X->->Y创设。称Y多值注重于X
  多值注重与函数信赖的界别:
  (1)多值依赖是元组发生信赖,函数注重是相等爆发依赖。
  (2)多值正视的卓有作用与属性集的限量关于,而函数依赖的有效性则与属性集的限定非亲非故。
   第四范式:关系情势奥迪Q5<U, F>∈1NF, 若对于每二个是非平时的多值信赖x->->y,x都包涵码,则称景逸SUV∈4NF。
   任何一个二目关系都能达成第四范式。在多值正视的局面内,第四范式到达了高高的的标准化水平。
   全部是主属性的关系形式必然能够高达第三范式,不过不必然达到bc范式。
   全码一定能够实现bc范式
 标准化:一个低一级范式的关系情势通过情势分解能够调换为多少个高级中学一年级流范式的涉嫌格局的联谊,这种进程就叫标准化
 逻辑包涵:关系情势福睿斯,F是其函数信赖,X,Y是其属性情集,假使从F的函数注重可以推出XY,则称F逻辑包括XY。
 闭包:被F所逻辑包括的函数重视的全部所构成的集结称作F的闭包,记作F
 自反律:若Y⊆X⊆U,则X->Y为F所蕴含。
 增广律:若X->Y为F所蕴含,Z⊆U,则XZ->YZ为F所蕴含。
 传递律:若X->Y及Y->Z为F所蕴含,则X->Z为F所蕴含。

SQL基本概念

基本表、 本人独立的表、 三个提到二个基本表、 三个基本表贰个积攒文件 二个表诺干索引

视图、 三个之上基本表导出的表

注:where字句不饿能用集中函数作为表明式,需接纳having

复习题库

数据库垄断(monopoly)作用、 DML、 查询更新
数据库调节机能、 DCL、 revoke commint等

一、数据库特点:

  • DDL
  • DML
  • 数据库拥戴功用:4个数据调整子系统
  • 数据库的保险功效:各种实用程序构成
  • 数量字典:DD子系统

  传递函数重视
   在R(U)中, 如果X->Y, (Y!⊆X), Y!->X, Y->Z, 则称Z对X传递函数信赖
 码:
  候选码:设K为LX570< U, F >的习性或属性组,若K f-> U,则称K为揽胜极光的候选码
  主码:若Wrangler(U, F)有两个候选码,则能够从中选定三个当作汉兰达的主码
  主属性:包涵在每三个候选码中的属性
  非主属性:不含有在别的候选码中的属性
  全码:关系格局的码由整个属性组构成

  • 外形式 用户与数据库的接口
  • 逻辑形式 数据库中全体数据的完好逻辑结构的讲述。
  • 内模式

  触发器的创制必须是批管理中的第一条语句。触发器创设好后,由SQL Server系统自动推行。(与索引同样)
  叁个表中可以构建很七个触发器。一般一种操作创建三个。
  删除触发器:
   drop trigger 触发器名
  修改触发器:与创设语句同样。
八、关周到据理论(关系标准化理论)
 数据重视:
  是三个涉嫌里面属性与质量之间的一种约束关系,通过品质间值的也正是与否展示出来的数据间相关关系当中最重视的是函数注重和多值正视
 函数正视:
  设Highlander(U)是性质集U上的关联格局,X, Y 是U的子集,若对于任性r∈PAJERO(U), 大肆t, s∈r, t[X] = s[X]--> t[Y] = s[Y]则称“X函数决定Y”, 或“Y函数注重于X”, 记作:X->Y 称X为操纵因素。
  若存在t, s∈r, t[X] = s[X] 但t[Y]!=s[Y],则称“X不函数决定Y”或“Y不函数注重于X”
  
  平凡/非平凡函数注重
   如果X->Y,且Y!⊆X,则称X->Y为非通常的函数依赖。
   就算X->Y,且Y⊆X,则称X->Y为通常的函数正视。

软件

   //面向对象数据模型(对象)
   //对象关周到据模型
   //半结构化数据模型
  
四、数据库系统的三级方式二级影象效能
   型:对某一数指标构造和质量的证实
   值:型的三个具体赋值
  情势仅涉及型的讲述,是数据库中漫天数据的逻辑结构和特色的描述
  方式的二个具体值称为格局的二个实例,形式是抵触稳定性的,实例是对立变动的
 三级情势结构:
   1.模式
    数据库中全部数据的逻辑结商谈特点的叙说,是怀有用户的公共数据视图
   2.外模式
    也称子格局只怕用户形式,它是数据库用户能够看见和选用的一些数据的逻辑结交涉特色的叙述,是数据库用户的数目视图,是与某一接纳有关的数码的逻辑表示。
   3.内模式
    也称存款和储蓄情势,一个数据库唯有一个内形式。是数额物理构造和仓库储存格局的描述,是多少在数据库内部的集体育赛职业办公室法。
 二级影像功效:
   1.外形式/方式印象
    数据的逻辑独立性
   2.内形式/方式影像
    数据的情理独立性

数据库

五、关系模型三要素:数据结构 操作集合 完整性约束
 域
 笛卡儿积
 关系:D1*D2*D3*...*Dn的子集叫做在域D1, D2..., Dn, 上的关系,表示为福睿斯(D1,D2,...,Dn),LAND表示关系的名字,n是关系的目或度(属性的个数)
   n=1时,称单元/目关系
   n=2时,称二元/目关系
  关系是张二维表,每行代表一个元组,每列代表一个域。n目关系必有n性子子
  若关系中有些属性组能唯一地方统一标准识三个元组,而其子集不能够,则称该属性组为候选码
  若贰个提到有多少个候选码,则选定当中贰个为主码
  候选码中的诸属性称为主属性。不分包在任何候选码中的属性称为非主属性或非码属性
 属性 候选码 主码

提到模型基本概念

字段 、 属性 、 列
字段值 、 属性值
笔录类型、 关系情势
记录 元组、 行
属性一样的元组集结、 关系、 表
属性个数、 元数
元组个数、 基数
域 值得集结、 属性值的取值范围
元组数目最为、 Infiniti关系、 Computer商量有限关系

 方式分解:
  关系形式PAJERO<U, F>的多少个分解是指ρ= { CR-V1<U1, F1>, Kuga2<U2, F2>, …, 中华Vn<Un, Fn> },个中U = U1UU2U…UUn ,并且未有Ui⊆Uj ,1≤i,j ≤n, Fi是F在Ui上的黑影。
  要求:
   分解前后格局要对等
   等价标准:
    (1)分解要具有无损连接性
    (2)分解要保持函数依赖
新京葡娱乐场网址 ,    (3)分解既要保持函数正视又要享有无损连接性
  无损分解    交集能调控差集
  保持函数信赖的讲明  并集的闭包和原本的相等 未有丢失函数正视
补充:
 1.使用top的查询
  只取后边多少个恐怕有个别结实
  格式 :
   TOP n[percent] with ties
    N 为非负的平头
    TOP n : 表示取查询结果的前n行;
   Select TOP 3 sname, sdept from student order by sage desc
   Select TOP 3 with ties sname, sdept from student order by sage desc  存在并列
   TOP n percent : 表示取查询结果的前n%行
    With ties 显示并例的结果
    TOP写在select也许distinct前面, 查询列表的眼下
   用了with ties 需要order by
   不用order得到的结果可能与希望的不同。

论及查询语言和关系演算

DML、 查询 更新
关联合检查询语言: 关系代数、 关系演算、 关系逻辑

七、SQL概述及言语
  *集数据定义语言DDL:create drop alter 数据垄断语言DML:update delete insert 数据调控语言DCL : grant revoke 于一体
  *可观非进程化
  *面向集结的操作办法
  *以同一种语法结构提供三种接纳办法:能独立用于共同交互,是嵌入式语言
 1.情势的定义和删除:
   create schema<模式名>authorization<用户名>
  用户能够在开立格局的还要在这么些方式中更是开创基本表、视图,定义授权等
   drop schema<模式名><cascade|restrict>
  当中cascade和restrict两个必选其一。接纳cascade(级联),表示在剔除格局的同期把该格局中的数据库对象全体去除。选用了restric(限制),表示一旦该方式中早就定义了下属的数据库对象(如表、视图等),则不容该删除语句的实施。
 2.表的概念、删除及修改
  create table<表名>(<列名><数据类型>[列级完整性约束标准]
       [, <列名><数据类型>[列级完整性约束原则]]
       [, <列名><数据类型>[列级完整性约束标准]]
       ...
       [, <列名><数据类型>[列级完整性约束标准]])
   情势与表:
    要在S - T中定义表
     1.create table "S-T".student(...)
     2.在开创形式时就创立表
     3.安装所属形式,当用户创造基本表时若未有一点超级模特式,系统基于查找路线来规定该对象所属情势
     show search_path 展现当前的追寻路径
     set search_path to "S_T",public  设置找出路线
  alter table<表名>
  [add[column]<新列名><数据类型>[完整约束性]]
  [add<表级完整性约束性>]
  [drop[column]<列名>[cascade|restrict]]
  [drop constraint<完整性约束名>[restrict|cascade]]
  [alter column<列名><数据类型>]

候选码的求法

第一来看候选键的定义:若关系中的某一属性组的值能唯一地方统一标准识多个元组。

若W是候选键,则必须满意八个尺码:W的闭包是U;W未有冗余。

设关系方式揽胜中U=ABC.......等N个属性,U中的属性在FD中的景况:

  1. 只在左部出现; 一定存在于某候选码当中
  2. 不在左右油不过生; 一定存在于具备候选码中
  3. 只在右部现身; 一定不在候选码中
  4. 反正面世; 与候选码组合,满足属性集闭包是U,分明候选码。

  完全/部分函数注重
   要是X->Y,对于自便X的真子集X′,都有X'!->Y ,
   则称Y对X完全函数重视,记作X f-> Y
   如果X->Y,存在X的真子集X′,使得X'->Y ,
   则称Y对X一些函数重视,记作X p-> Y

DBA数据库助理馆员

7.ACID各自代表怎样
  一致性
  原子性
  隔离性
  持久性
 8.完毕数据库安控的常用方法
  用户标记和甄别
  存取调节
  视图机制
  审计
  加密

涉及情势的方式定义和长处

数据结构、 简明准确
数量操作、 独立于数据存款和储蓄
数据完整性规则

 2.将查询结果保存到新表
  语法格式:
   Select 查询表体系 into 新表名
    from 数据源 where[<条件>]…..
   新表有二类 :
      1)恒久的表, 起一个表名就能够了;
      2)局地有的时候表:表名前加#,当前连日可用,生存期为眼下连日的生活期.
       全局不时表:表名前加##,全部连接都可用.生存期为当下连连的生活期.
  3.视图定义后,用户能够象对基本表同样对视图进行询问。DBMS达成视图查询时,首先进行实用检查,检查所查询的表、视图是或不是存在。若存在,则从数量字典中抽出视图的概念,把定义中的子查询和用户的询问结合起来,转变到等价的对基本表的查询,然后再实行考订了的询问。这一更动进度称为视图消解(View Resolution)。
  4.相似DBMS对视图更新的限制:
  (1) 若视图是由八个以上基本表导出的,则此视图不允许更新。
  (2)若视图的字段来自字段表达式或常数,则不容许对此视图施行INSERT和UPDATE操作,但允许实施DELETE操作。
  (3)若视图的字段来自集函数,则此视图不允许更新。
  (4)若视图定义中包蕴GROUP BY子句,则此视图不容许更新。
  (5)若视图定义中涵盖DISTINCT短语,则此视图不容许更新。
  (6)三个不容许更新的视图上定义的视图也区别意更新。
  (7)若视图定义中有嵌套查询,并且内层查询的FROM子句中涉及的表也是导出该视图的基本表,则此视图不容许更新。
 5.三个有效的推理规则:
  合并规则:由X->Y, X->Z, 有X->YZ。
  伪传递规则:由X->Y, WY->Z, 有XW->Z。
  分解规则:由X->Y, Z⊆Y, 有X->Z。
 6.关于形式分解的多少定论:
  (1)分解具有无损连接性和释疑保持函数注重是三个相互独立的正经。具备无损连接性的解说不确定保持函数正视,保持函数依赖的分解不必然有所无损连接性。三个关系方式的表达恐怕有二种情景。
  (2)若须要表达具有无损连接性,那么分解后的方式必然能落得BCNF。
  (3)若必要表明保持函数注重,那么分解后的情势总能够高达3NF,但不鲜明能到达BCNF。
  (4)若必要表达既有着无损连接性,又保持函数信赖,则解释后的格局能够直达3NF,但不确定能落得BCNF。

  • 数据库
  • 硬件
  • 软件
  • 数据库管理员

六、关系代数:
  
  并 :R U S = {t|t∈R V t∈S}
  交 :R - S = {t|t∈R^t∈S }
  差 :R - S = {t|t∈R^t!∈S}
  广义笛卡儿积:本田CR-V*S = {tr ts|tr∈R^ts∈S}
  特地的关联运算:
   接纳 :在提到奥迪Q7中选择满意给定规则的元组
   投影 :从CR-V中甄选出多少属性列组成新的涉嫌
   连接:从两个关系的笛卡儿积中选用属性间的满意一定原则的元组
    等值连接:从涉嫌途睿欧与S的广义笛卡儿积中选择A、B属性值相等的那个元组
    自然连接:一种非常的等值连接
    自然链接时被扬弃的元组称为悬浮元组,假设把悬浮元组也保留在结果关系中,而在别的属性上填空值,那么这种连接就叫做外连接。  借使只保留左边手关系Haval中的悬浮元组就叫做左连接,  假使只保留左边境海关系S中的悬浮元组就称为右外连接
   除运算:设关系奥迪Q7除以关系S的结果为涉嫌T,则T中带有全体在昂科拉但不在S中的属性及其值,且T的元组与S的元组的装有结巴拿马城在Odyssey中

DBS的组成

* 永远积累 有协会 可共享
 功能:
  1.数额定义功用:
   (1)数据定义语言DDL
  2.数目调整功能:
   (2)数据操纵语言DML
   //(3)数据调节语言DCL
  3.数据组织、积存和管制:
   数据组织和存储的骨干指标是增进存款和储蓄空间利用率和方便存取,提供八种存取方法(如索引查找、hash查找、顺序查找等)来抓实存取效能
  4.数据库事务管理和平运动作管理
  5.数据库的营造和爱慕成效
  6.别样成效
二、概念模型:
 (1)实体:客观存在并可交互区分的东西
 (2)属性:实体所具备的某一风味
 (3)码:唯一标记实体的属性集
 (4)实体型:用实体名及其性格名会集来抽象和描写的同类实体
 (5)实体集:同一档期的顺序的实业的聚众
 (6)联系:
   实体间的关联
    1)八个实体型间的关系
    2)三个以上实体型间的交换
    3)单个实体型内的关联
     都存在 一对一挂钩 1:1 一对多关系 1:n 多对多交换 m:n
    一般的,把加入联系的实体型的数目称为联系的度。N个实体型间的联系度为N,也称N元联系
 概念模型的一种象征方法:
   E - R模型
    (1)实体型用矩形表示
    (2)属性用圆锥形表示,并用无向边将其与相应的实体型连接起来
    (3)联系用口形表示
三、数据模型:
 由数据结构、数据操作和数码的完整性约束标准三局地构成
   数据结构  描述数据库的结缘对象以及对象之间的关联
   数据操作  对数据库中各个对象(型)的实例(值)允许实行操作的聚集,包含操作及有关的操作规则
   数据的完整性约束原则  是一组完整性规则
 
 常用数据模型:
   1.等级次序模型(树)
     优点:
      (1)数据结构比较明晰轻易
      (2)档案的次序数据库的查询功能高
      (3)档次数据模型提供了能够的完整性支撑
     缺点:
      (1)现实世界中众多牵连时非等级次序的
      (2)对插入和删除操作的限定相比多
      (3)查询子女节点必须通过家长结点
      (4)等级次序命令趋于程序化*

无损分解测试

树立表格

  • 属性Aj做列、 模式Ri做行;
  • 队列有陆续填aj、 行列无交叉填bij。
    追踪Chase
  • 基于正视集F|=X->Y;
  • 两行X一样则修改使两行Y也同样
  • 两行Y、 aj > 下标小的bij
    有三个行全aj 是无毒分解

无损分解丰硕须求定理:

  • Ri是涉嫌格局PRADO的二个分解
  • (昂Cora1交Rubicon2)->(福睿斯1-Murano2)或(Sportage2-卡宴1) 注释:即推导属于FD,在依靠聚焦

维持函数正视FD的疏解个性

  • 1验证F中的各类FD是不是被轻巧数据库方式逻辑包含
  • 2 关系方式函数正视闭包F = 全体的数据库格局函数依赖闭包
  • 无损分解本性与维持函数注重分解本性无关、 结合情势分解的优缺点
  • 形式分解与情势也正是、 数据等价 语义等价
  • 数据等价、 不会丢掉消息,无损分解本性
  • 语义等价、 数据库格局有平等的依赖集闭包,保持FD分解个性

分解特性比如、 三个特征

提到方式帕杰罗(ABC),ρ={AB,AC},分析在F1={A->B},
F2={A->C,B->C},F3={B->A},F4-{C->B},B->A}下的解释天性?
1深入分析无损分解:Haval1交中华V2=A 、 AB-AC=B 、 AC-AB=C;
即满意A->B大概A->C信赖的是无毒分解:F1、F2。
2深入分析保持FD分解:关系格局函数注重闭包 = 全体数据库格局函数正视闭包;
即:F1满足;F2不满足,丢失B->C;F3满足; F4不满足,丢失C->B;

关联情势的范式、 (1NF、 2NF)过时、 3NF、 BCNF

  • 1NF、 关系r的属性值不可再分
  • 2NF、 1NF 每一个非主属性完全函数注重于候选键
  • 3NF、 1NF 每一种非主属性都不传递重视与卡宴的候选键。(假设有,分解后,那就是外键的彻彻底底的经过)
  • DCNF、 1NF 每一个属性都不传递依赖于牧马人的候选键
  • 平凡FD: 类似 A ->AB ;ABC->ABC等无价值的FD
  • 主属性:蕴涵候选码的属性组
  • 传递正视:类似A->C,C->B;

定理:满足BCDF->满足3NF

  • BCNF、 无损分解、 不自然保持FD分解
  • 涉嫌形式凯雷德优先BCDF分解,假设BCDF不满意保持FD,则表达为3NF

3NF分解算法

关联情势揽胜(U),主键W,劲客上还恐怕有FD X->Z。并且Z是非主属性(Z不属于X),
X不是候选键,那样W->Z就是叁个传递正视。此时亟需景逸SUV分解为2个情势
R1(XZ),主键X;
Odyssey2(Y),当中Y=U-Z,主键还是W,外键X(参照Odyssey1)。
只要索罗德1、奥迪Q52还不是3NF,那么在重新上述,直到数据库情势为3NF。

BCNF分解算法

和3NF分解算法很像,只是FD X->Z,当中Z也能够是主属性。

计算3NF BCNF演讲算法: 化解传递依赖,产生外键

分解成3NF情势集的合成算法?

  • 求F的细小信赖集,把左部相同的FD合并性
  • 对各样细小正视集中的FD X->Y 去构成贰个方式XY
  • 整合的情势聚集,假如各类形式都不包蕴Tiguan的候选键,那么把候选键单独作为贰个方式。

分解3NF举例
事关方式ENVISION(ABCDE),讴歌RDX的细微注重集{A->B,C->D}。
从注重集可见宝马X5的候选码为ACE。
先遵照最小注重集 生成ρ{AB,CD}形式,不带有候选码ACE
插足候选码的格局,获得 ρ{AB,CD,ACE}

某些正视和传递依赖是格局产生冗余和特别的四个关键原因,
出于3NF只化解了非主属性对候选键的一些正视和传递倚重,
尽管质量已经很好了,但还是还有小片段存储非常。

格局设计方法

  • ρ是BCNF或3NF模式集
  • 无损分解
  • 保持函数正视集

成套数额的相会。DB分为两类,一类是行使数据集结,称为物理数据库,
它是数据库的关键性;另一类是各级数据结构的叙述,称为描述数据库,由DD系统一管理理。

错题集

  1. 数据库系统的骨干是( D )
    A) 编写翻译系统 B)数据库 C)操作系统 D)数据库管理种类

  2. 发布用户使用观点的数据库局地逻辑结构的模子是( C )
    A) 概念模型 B)逻辑模型 C)外部模型 D)内部模型
    备考: 概念模型;表明用户选拔观点的数据库全局逻辑结构的模型

3.对关周密据库来说,下边( C )说法是荒谬的
A)外键和对应的主键能够区别名,只要定义在一样值域上就可以
B)分歧的习性可对应于同一值域
C)行的相继能够自由交流,但列的逐一不能够随随意便交流
D) 关系中的任性多少个元组不能够完全同样

注释
1 外键的值必须参照相应主键的表中的主键值,恐怕可感觉空。
2 主键和外键可以在同贰个提到情势中

4.数据库系统生存期分四个级次:规划、须求深入分析、概念设计、逻辑设计、物理设计、完毕、运营保险。

5.底下关于形式分解的叙说中,不准确的是(D )
A) 若二个情势分解保持函数依赖,则该解释一定有所无损连接性。
B) 若须求表达保持函数注重,那么格局分解能够到达3NF,但不肯定能落得BCNF
C) 若要求表明既具备无损连接性,又保持函数注重,则情势分解能够到达3NF,但不自然能到达BCNF
D) 若供给表达具备无损连接性,那么方式分解一定能够直达BCNF

注释
A选项,保持FD—>无损分解,不能够逆推
B选项,BCNF->3NF,不可能逆推
C选项, BCNF 满意无损分解,不确定满足保持FD分解;所以优用BCNF分解,假使不行才接纳3NF解释。

3.下述哪一条不是出于涉及情势设计不当而引起的(B )
A) 数据冗余 B) 丢失修改 C) 插入分外 D) 修改十分

1.其余叁个二元关系在函数信赖的规模内必能达到( D )
A) 1NF B)2NF C)3NF D)BCNF

备注 二元关系

设关系格局奇骏(ABCD),F是科雷傲上创设的FD集,F={AB→CD,A→D}。
1)试表达卡宴不是2NF情势的说辞。
2)试把R分解成2NF模式集。

注释:
1 大切诺基的候选键是AB,则非主属性为C和D,并且AB→D创立。而已知A→D,因而AB→D为非主属性D对候选键的有的重视。
2 R分解为:R1(AD)主键是A;
R2(ABC)主键是AB,外键是A。
对于3NF的推断:是不是?非主属性传递信赖于候选键

本文由67677新澳门手机版发布于网络数据库,转载请注明出处:数据库基础知识点,自用数据库复习

关键词: