数据库原理期末考试速成--最后附带两套题

发布于:2025-05-14 ⋅ 阅读:(10) ⋅ 点赞:(0)

引言

为什么从3开始呢,毕竟是速成吗,总要放弃一些东西

前两章1.概论 2.关系数据库:这里面都是一些运算符什么的,我感觉都学这个:笛卡尔积之列的都会算

这两章比较重要的我就放在这里了

选择、投影、连接、除、并、交、差,其中选择、投影、并、差、笛卡尔积是5种基本关系操作

数据库独立性

物理独立性:应用程序与磁盘上的数据库相互独立

逻辑独立性:应用程序与数据库的逻辑结构是相互独立的

数据独立性:这个是由数据库二级映像实现的

数据库主要由二级映像和三级模式

三级模式:内模式,外模式,模式,对应关系如下

二级映像:外模式/模式映像:保证逻辑独立性,内模式/模式映像:保证物理独立性

ER图:

实体,用矩形框表示

属性,用椭圆表示

联系,使用菱形表示

不说了:上图

 

3.数据库语言SQL

SQL基本概念 

数据库SQL分为嵌入式(嵌入到其他语言中)和交互式

数据库中的动词

基本表:本身独立存在的表

存储文件:逻辑结构组成了关系数据库的内模式,物理结构是任意的,对用户透明

视图:从一个或者几个基本表中导出的表,数据库中只存放视图的定义而不存放对应的数据

SQL的数据定义功能

数据库定义语言中的删除使用drop

 模式

定义模式

为用户WANG定义一个模式名称为S-T

CREATE SCHEMA “S-T” AUTHORIZATION WANG;
create schema "S-T" authorization wang;

如果没有指定用户名称,那么名称默认为用户名

模式实际上相当于一个命名空间,mysql是不支持模式的

删除模式

DROP SCHEMA <模式名> <CASCADE|RESTRICT>
drop schema <模式名> <cascdde|restrict>

cascade 级联(数据库中删除可用选项,使用这个,模式下属对象也会删除)

restrict 限制 (数据库中加上这个,如果删除的模式存在下属对象,就不会删除)

基本表

基本表的定义

CREATE TABLE <表名>
(<列名> <数据类型>[ <列级完整性约束条件> ]
[,<列名> <数据类型>[ <列级完整性约束条件>] ] …
[,<表级完整性约束条件> ] );
< 表名 > :所要定义的基本表的名字
< 列名 > :组成该表的各个属性(列)
< 列级完整性约束条件 > :涉及相应属性列的完整性约束条件
< 表级完整性约束条件 > :涉及一个或多个属性列的完整性约束条件

完整性约束包括:primary key:主键约束。unique:唯一键约束 

foreign  key(属性) reference 表名(属性名) :表示该表的对应属性列参照表2的对应属性

数据库中数据类型(不需要记忆)

修改基本表

ALTER TABLE <表名>
[ ADD[COLUMN] <新列名> <数据类型> [ 完整性约束 ] ]
[ ADD <表级完整性约束>]
[ DROP [ COLUMN ] <列名> [CASCADE| RESTRICT] ]
[ DROP CONSTRAINT<完整性约束名>[ RESTRICT | CASCADE ] ]
[ALTER COLUMN <列名><数据类型> ] 

不论基本表中原来是否已有数据,新增加的列一律为空值

删除基本表

DROP TABLE <表名>[RESTRICT|CASCADE];
索引

建立索引目的:加快查询速度

一般采用B+树、HASH索引来实现

B+树具有动态平衡的特点,且可以实现顺序查找,各个结点查找速率一致,HASH索引查找速度快

索引是关系数据库内部实现技术,属于内模式范畴

CREATE [UNIQUE] [CLUSTER] INDEX <索引名>
ON <表名>(<列名>[<次序>][,<列名>[<次序>] ]…);

 修改索引名称

ALTER INDEX <旧索引名> RENAME TO <新索引名>

删除索引

DROP INDEX <索引名>;
数据查询 
SELECT [ALL|DISTINCT] <目标列表达式>
					[,<目标列表达式>] …
	FROM <表名或视图名>[,<表名或视图名>] …
	[WHERE <条件表达式>]
	[GROUP BY <列名1> [HAVING <条件表达式>]]
	[ORDER BY <列名2> [ASC|DESC]];

 

聚集函数

count sum avg max min 一个五个

集合查询:

并操作:union

交操作:intersect

差操作:except

数据更新

数据插入:分为元组插入和子查询插入

INSERT INTO <表名> [(<属性列1>[,<属性列2 >…)]
	VALUES (<常量1> [,<常量2>]    …           )

INSERT 
	INTO <表名>  [(<属性列1> [,<属性列2>…  )]
	子查询;

数据更新 

UPDATE  <表名>
	SET  <列名>=<表达式>[,<列名>=<表达式>]…
	[WHERE <条件>];

删除数据

DELETE
       FROM   <表名>
       [WHERE <条件>];
视图 

建立视图

CREATE  VIEW <视图名>  [(<列名>  [,<列名>]…)]
	AS  <子查询>
	[WITH  CHECK  OPTION];

删除 drop

4.数据库安全性

1. 用户标识与鉴别:使用口令

2. 存取控制:对权限进行限制

3. 自主存取控制,定义用户存取权限

GRANT语句的一般格式:授权指令
GRANT <权限>[,<权限>]... 
[ON <对象类型> <对象名>]
TO <用户>[,<用户>]...
[WITH GRANT OPTION];

ALL PRIVILIGES 代表全部权限
public 代表所有用户

网站公告

今日签到

点亮在社区的每一天
去签到