当前位置: 首页 > news >正文

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

引言

为什么从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 <条件>];

删除数据

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

建立视图

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

删除 drop

4.数据库安全性

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

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

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

GRANT语句的一般格式:授权指令
GRANT <权限>[,<权限>]... 
[ON <对象类型> <对象名>]
TO <用户>[,<用户>]...
[WITH GRANT OPTION];ALL PRIVILIGES 代表全部权限
public 代表所有用户

相关文章:

  • 基于大模型的原发性醛固酮增多症全流程预测与诊疗方案研究
  • 硅基计划2.0 学习总结 壹 Java初阶
  • 在Mac环境下搭建Docker环境的全攻略
  • 红队视角下的域森林突破:一场由Shiro反序列化引发的跨域控攻防对抗
  • [Git]ssh下用Tortoisegit每次提交都要输密码
  • AnaTraf:深度解析网络性能分析(NPM)
  • 基于Qt6 + MuPDF在 Arm IMX6ULL运行的PDF浏览器——MuPDF Adapter文档
  • SMT贴片加工技术解析与应用要点
  • Linux 文件查看|查找|压缩|解压 常用命令
  • Github 2025-05-12 开源项目周报 Top15
  • Unity动画系统使用整理 --- Playable
  • 【后端】SpringBoot用CORS解决无法跨域访问的问题
  • 基于STM32、HAL库的BMP390L气压传感器 驱动程序设计
  • Spring MVC 和 Spring Boot 是如何访问静态资源的?
  • 脑机接口重点产品发展路径分析:以四川省脑机接口及人机交互产业攻坚突破行动计划(2025-2030年)为例
  • Meilisearch 安装
  • 智能手表 MCU 任务调度图
  • JSON 实体属性映射的最佳实践
  • 人脸识别deepface相关笔记
  • Spring Boot中Redis序列化配置详解
  • 93岁南开退休教授陈生玺逝世,代表作《明清易代史独见》多次再版
  • 做街坊们的“健康管家”,她把专科护理服务送上门
  • 竞彩湃|热刺、曼联一周双赛不易,勒沃库森能否欢送阿隆索
  • 中山大学人类学系原系主任冯家骏逝世,享年95岁
  • 人民日报刊文:加快解放和发展新质战斗力
  • 巴西总统卢拉将访华