sql中名词解释

模式

定义:也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。

理解: ① 一个数据库只有一个模式; ② 是数据库数据在逻辑级上的视图; ③ 数据库模式以某一种数据模型为基础; ④ 定义模式时不仅要定义数据的逻辑结构(如数据记录由哪些数据项构成,数据项的名字、类型、取值范围等),而且要定义与数据有关的安全性、完整性要求,定义这些数据之间的联系。

外模式

定义:也称子模式(Subschema)或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。

理解: ① 一个数据库可以有多个外模式; ② 外模式就是用户视图; ③ 外模式是保证数据安全性的一个有力措施。

内模式

定义:也称存储模式(Storage Schema),它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式(例如,记录的存储方式是顺序存储、按照B树结构存储还是按hash方法存储;索引按照什么方式组织;数据是否压缩存储,是否加密;数据的存储记录结构有何规定)。

理解: ① 一个数据库只有一个内模式; ② 一个表可能由多个文件组成,如:数据文件、索引文件。 它是数据库管理系统(DBMS)对数据库中数据进行有效组织和管理的方法 其目的有: ① 为了减少数据冗余,实现数据共享; ② 为了提高存取效率,改善性能。

外模式/模式映像

当模式改变时(例如增加新的关系、新的属性、改变属性的数据类型等),由数据库管理员对各个外模式/模式映像作相应改变,可以使外模式保持不变。应用程序是依据外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。

模式/内模式映像

当数据库的存储结构改变了(例如选用了另一种存储结构),由数据库管理员对模式/内模式作相应的改变,可以使模式保持不变,从而应用程序也不必改变。保证了数据与程序的物理独立性,简称数据的物理独立性。

笛卡尔积

相当于排列组合,{1,2,3}{4,5}=》{1,4}{1,5}{2,4}{2,5}{3,4}{3,5}

基本操作

选择、投影、并、差、笛卡尔积五种基本的操作,此外还有连接、除、交等。

完整性约束

实体完整性:关系(所谓的关系就是表)的主码不能取空值

扫描二维码关注公众号,回复: 2496517 查看本文章

参照完整性:是指参照关系中每个元素的外码要么为空(NULL),要么等于被参照关系中某个元素的主码。

用户定义的完整性:指对关系中每个属性的取值作一个限制(或称为约束)的具体定义.比如 性别属性只能取”男“或”女“ ,再就是年龄的取值范围,可以取值0-130 ,但不能取负数,因为年龄不可能是负数。

 

等值连接

连接运算符是“=”的连接运算称为等值连接。它是从关系R与S的广义笛卡尔积中选取A,B属性值相等的那些元组

自然连接

自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。

笛卡尔积

·想排列组合

关系

两个表的公共字段。

优点:表示独立的,需要什么数据就查相应的表。

缺点:多表查询的时候,效率低下。

 

删除模式和删除数据库,删除表和删除索引、视图都是drop,删除记录是delete

 

实体:矩形

属性:椭圆

联系:菱形

修改基本表

增加一个属性:基本语法

ALTER TABLE stu  ADD column_name datatype;

来看个增加例的实例:

ALTER TABLE stu  ADD age int;

修改列的属性:

ALTER TABLE tname  modify age char(1);

删除属性,基本语法:

ALTER TABLE table_name DROP COLUMN column_name

来看个删除列实例.

alter table stu drop column age;

 

Show variables like ‘char_%’

多表删除

delete from one,two using one join two

on one.public_field=two.public_field where one_id=2;

多表更新

update one join two on one.public_field=two.public_field

set one_data='x',two_data='y' where one.id=3;

 

修改数据使用update

Mysql数值类型

Tinyint(2) Zerofill表示不最小宽度为2,只是零填充,不会影响取值范围。

Mysql、php不支持布尔bool类型

约束条件

主键:primary key

外键:foreign key()references

不空:not null

自动增长:auto_increment

数据库引擎

 

 

 

关系模式

关系的描述称为关系模式(Relation Schema)它可以形式化地表示为:

R(U,D,dom,F)

其中R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域,dom为属性向域的映象集合,F为属性间数据的依赖关系集合。

通常简记为:

R(U)或R(A1,A2,…,An)

其中R为关系名,U为属性名集合,A1,A2,…,An为各属性名。

实体-关系模式

每个实体转化为一个关系模式

 

 

属性

实体

关系模式

 

实体属性

实体码

11

 

独立模式

 

 

实体码+联系属性

 

 

某端码

 

 

与某端合并

某端属性+另一端码+联系属性

某端码

1n

独立关系模式

 

各实体码+联系属性

 

N端码

 

n端合并

N端属性+1端码+联系属性

 

N端码

m:n

加新的关系模式

各实体码+联系属性

各实体码+其他

m:n:p

关系模式

各实体码+联系属性

各实体码+其他

相同码的关系属性

合并

各关系模式-同义属性

原码

 

范式

1NF->2NF:消除非主属性对码的部分函数依赖。

 

R1完全函数依赖的决定因素+被决定因素

R2剩余属性+所有剩余属性的决定因素

 

2NF->3NF:消除非主属性对码的传递函数依赖。

 

R1起传递作用的函数依赖的因素和被决定因素

R2剩余属性+传递函数依赖的决定因素+所有属性的决定因素

 

3NF->BCNF:消除属性对码的部分和传递函数依赖。

若关系模式中

只要一个属性一定属于2NF

只有两个属性一定为3NF和BCNF

1NF关系模式中所有的属性是不可再分的

若果关系模式中只有主属性,一定为3NF

部分函数依赖:设X,Y是关系R的两个属性集合,存在X→Y,若X’是X的真子集,存在X’→Y,则称Y部分函数依赖于X。

举个例子:学生基本信息表R中(学号,身份证号,姓名)当然学号属性取值是唯一的,在R关系中,(学号,身份证号)->(姓名),(学号)->(姓名),(身份证号)->(姓名);所以姓名部分函数依赖与(学号,身份证号);

 

完全函数依赖:设X,Y是关系R的两个属性集合,X’是X的真子集,存在X→Y,但对每一个X’都有X’!→Y,则称Y完全函数依赖于X。

例子:学生基本信息表R(学号,班级,姓名)假设不同的班级学号有相同的,班级内学号不能相同,在R关系中,(学号,班级)->(姓名),但是(学号)->(姓名)不成立,(班级)->(姓名)不成立,所以姓名完全函数依赖与(学号,班级);

 

传递函数依赖:设X,Y,Z是关系R中互不相同的属性集合,存在X→Y(Y !→X),Y→Z,则称Z传递函数依赖于X。

例子:在关系R(学号 ,宿舍, 费用)中,(学号)->(宿舍),宿舍!=学号,(宿舍)->(费用),费用!=宿舍,所以符合传递函数的要求;

视图

视图不保存数据,只是通过执行相应的查询操作完成相应的功能

 

 

猜你喜欢

转载自blog.csdn.net/benben0729/article/details/81296050
今日推荐