数据库系统概论——基础知识一

一、绪论

1、基本概念

数据:数据库中存储的基本对象,与其语义是不可分的

数据库(DB):长期储存在计算机内,有组织可共享数据集合

数据库管理系统(DBMS):核心组件

数据库系统(DBS):计算机系统中引入数据库后的系统

2、数据库系统的组成

计算机硬件、软件、数据库、有关人员

3、发展过程

手工阶段——人工管理阶段——文件系统阶段——数据库系统阶段

4、数据库系统的三级模式结构

模式(逻辑模式、概念模式):反映数据库的整体观

外模式(子模式、用户模式):反映数据库的用户观、与用户有关

内模式(物理模式、存储模式):反映数据库的存储观

一个数据库只有一个逻辑模式

逻辑模式与外模式的关系一对多

外模式与应用的关系一对多

一个数据库只有一个内模式

5、两级映射

外模式/逻辑模式映射:保证数据的逻辑独立性

逻辑模式/内模式映射:保证数据的物理独立性

二、关系数据库

1、数据模型

数据模型是现实的模拟
应满足的要求:

较真实的模拟现实世界、容易被人理解、便于在计算机上实现

分为三个层次:
概念数据模型:

​ ER模型,与具体的DBMS无关

逻辑数据模型:

​ 关系模型等,用于具体的DBMS的实现

物理数据模型:

​ 与物理存储的介质有关

2、基本概念介绍

2.1域

相当于一个值域,一列属性的取值范围

2.2域的基数

域中包含值得个数

2.3元组

一行数据

2.4属性

一列元素

2.5码
2.5.1候选码

具有唯一性(根据候选码可以唯一的确定一个元组)、不可约性(没有任何一个真子集具有唯一性)

无论添加任何元组都可保证唯一性

2.5.2全码

候选码包含所有属性

2.5.3主码

从多个候选码中选出一个称作主码

2.5.4超码

候选码与其他属性的组合,具有唯一性,不具有不可约性

2.6关系模式

R(U,D,dom,F)

R:关系名,U:属性组,D:域,dom:属性向域的映像,F:依赖关系

2.7常用的关系操作
2.7.1选择
2.7.2投影
2.7.3连接
2.7.4除
2.7.5并
2.7.6交
2.7.7差
2.7.8数据更新

插入,更新,删除

三、SQL语言

1、概述

1.1、结构化查询语言
1.2、特点:

综合统一、面向集合的操作方式、高度非过程化…

2、DDL(数据定义语言)

操作对象创建删除修改说明
模式create schemadrop schema必须拥有DBA权限或者create schema权限
create tabledrop tablealter table
视图create viewdrop view
索引create indexdrop index

cascade:级联,全部删除

restrict:若有意定义的下属的数据库对象,解决该删除操作

3、DML(数据操纵语言)

3.1、select相关
select 想要显示的属性
from 查询的表
where 查询条件
group by (分组依据)
having 分组后的查询条件
order by 升序(ASC,默认为升序)/降序(DESC)
聚集函数说明
count()计数遇到空值时,除count(*)外都跳过空值,只处理非空值
max()最大值
min()最小值
sum()求和
avg()求平均值
补充:列名和聚集函数

列名不允许与聚集函数一起混合使用,除“使用group by子句后,select子句的列表名称中只能出现分组属性和聚集函数”

3.2、distinct

消除取值重复的行

# eg.
select distinct sno # distinct对整行生效
from sc
where grade > 90
3.3、常用的查询条件
查询条件谓词说明
比较=,>,<,<=,>=,<>
确定范围between … and … ,not between … and …
确定集合in,not in
空值in null ,is not null
多重条件and ,or ,not
字符匹配like , not like_表示匹配一个字符;%表示匹配任意多个字符
# 字符匹配换码字符
select Cno,Ccredit
from Course
where Cname like '%DB#_Design%'
	escape'#'       # 表示'#'为换码字符
3.4、连接查询
3.5、嵌套查询

子查询不能使用 order by子句

3.6、插入
# 插入单个数据
insert into 表名(属性组)
values ();

# 插入子查询的结果
insert into 表名(属性组)
子查询
# eg.
insert into Deptage(Sdept,Avgage)
	select Sdept,AVG(Sage)
	from student
	group by Sdept;
	
3.7、删除
delete 
from 表名
where 删除条件

# 带子查询的
delete 
from 表名
where 子查询
3.8、更新
update 表名
set 修改的值    # eg. Sage = Sage + 1
where 修改条件

# 带子查询的
update 表名
set 修改的值    # eg. Sage = Sage + 1
where 子查询

4、DCL(数据控制语言)

权限分配,见四、五章

5、TCL(事务控制语言)

见十、十一章

6、视图

1、概论

虚表,只存放视图的定义,不存放数据

create view 视图名
as
查询条件

# eg.
create view cs_s(sno,sname,grade)
as
select student.sno,sname,grade
from student,sc
where sdept = 'CS'
	and student.sno = sc.sno
	and sc.cno = 1

删除、修改类似对表的操作

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑夜蔓蔓

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值