数据库期末复习

一、数据库基本理论:

第一章:
数据(data):描述事物的符号记录。
数据库(database):长期保存在计算机内,有组织、结构化、可共享的数据的集合。
数据库管理系统(DBMS,database management system):是一个“管理和维护数据库的”计算机软件。
功能:
1、定义数据库:新建,修改数据库和表的结构。create,alter
2、操纵数据库(1和2是DBMS的基本功能):对数据进行增insert、删delete、改update、查select。
3、控制数据库:(1)安全性控制(用户和权限的管理);(2)完整性控制(实体完整性,参照完整性,域完整性not null);(3)并发控制(并发:网络环境下,多个用户同时操作同一个数据)。
4、故障恢复:日志 binlog,对数据的修改操作全部记录日志。备份+日志,当数据库中的数据出现问题,可以恢复到正常的状态。
5、网络通讯:单机版(foxbase),网络版
数据库系统(DBS):包含DB、DBMS、应用系统(用户不直接操作DB,通过应用系统简介操作DB,简化了用户的操作)、用户、DBA(数据库管理员)

数据管理的发展阶段:
1、手工管理(50年代中期之前):主要用于科学计算
2、文件系统管理(60年代末期):
3、数据库管理(70年代至今)

第二章:信息的三种世界
1、现实世界:我们所管理的所有的实体、实体集、特征以及实体集之间的联系。
2、信息世界:用E-R图(概念模型)把现实世界表示出来。
实体:不用表示
实体集:用矩形表示
特征(属性):用椭圆表示
实体集之间的联系:用菱形表示
3、数据世界(计算机世界):把信息世界的E-R图用具体的DBMS来实现。把概念模型转换成对应的数据库。
用数据模型表示。
数据模型的三要素:数据结构,数据操作,完整性约束。
数据模型有三种:层次模型,网状模型,关系模型。

第四章:关系数据库,按照数据模型的三要素进行讲解
1、关系模型的数据结构:域,域的笛卡尔积,关系,元组,属性,码(主码,候选码),关系数据库。
基本表,查询表,视图表。
基本关系的性质:六条。
2、关系操作:增、删、改、查
3、关系的完整性:
(1)实体完整性:定义主码(primary key),限制主码的取值:(1)主码不能取空值;(2)主码也不能取重复值。
(2)参照完整性:定义外码(foreign key)。限制外码的取值:(1)可以取空值;(2)如果不取空值,必须从与之对应的父表的主码中取值。
foreign key(dept_id) references dept(dept_id)
(3)域完整性:mysql不支持。

关系代数:
(1)传统的集合运算:并、交、差:要求两张表必须具有相同的表结构。
(2)专门的关系运算:选择,投影,关系的笛卡尔积,连接,除

第七章:关系的规范化
一、一个规范的关系应满足的基本要求
1、除了外码这种冗余之外,不能存在其他的数据冗余
2、不能出现修改时的数据不一致情况(消除了数据冗余,此问题自然解决)。
3、不能出现插入异常(应该插入的数据无法插入)
4、不能出现删除异常(不该删除的数据被删除)
二、造成关系不规范的原因:在一个关系中保存了多个实体集的信息
三、关系规范化的方法:分解
四、关系分解的原则:一事一地,保持联系
函数依赖:部分函数与完全依赖,传递函数依赖
范式:第一范式,第二范式,第三范式。

二、mysql

第一章 MySQL 的登录
第二章 数据库和表的操作
一、数据类型
1、字符型:char,varchar:需要指定长度
2、数值型:int,decimal
3、日期时间型:date,datetime
二、数据库的操作
create database 数据库名;
drop database 数据库名;
use 数据库名; --选择数据库
show databases; --查看数据库
三、创建表
create table 表名(
列名 类型(长度),

);
drop table 表名; --删除表
desc 表名; --查看表的结构
show tables; --查看当前数据库中的表
alter table 表名。。。 --修改表结构
alter table emp add addr varchar(200); --添加列
alter table emp drop addr; --删除列
alter table emp modify ename char(20); --修改列的类型、长度、精度、小数位数

第三章 数据的增、删、改
1、插入行
insert into 表名(列名1,列名2,…) values(数据1,数据2,…);
把“数据1”插入“列名1”,把“数据2”插入“列名2”,以此类推。
2、删除行
delete from 表名 where 条件;
3、更新数据
update 表名 set 列名=数据 where 条件;
第五章 数据的完整性
一、实体完整性
1、主码:primary key
2、唯一约束:unique
3、自增列:auto_increment(列的类型必须是整型)
二、参照完整性(引用完整性)
foreign key
三、域完整性
1、非空约束:not null
2、默认值:default,默认值不是约束

create table dept(
dept_id int primary key auto_increment,
dept_name char(20)
);

create table emp(
eid int primary key auto_increment,
ename char(20) not null,
gender char(10) default ‘男’,
salary decimal(10,2) not null,
birth datetime,
phone char(20),
dept_id int,
foreign key(dept_id) references dept(dept_id)
);

第四章:单表查询(查询只涉及到一张表)
查询的基本结构:

select 字段列表
from 表名
where 条件;

聚合函数:
计数:count(*)
求和:sum
求平均值:avg
求最大值:max
求最小值:min
分组:group by

第六章:多表查询(查询涉及到多张表)

from 表1,表2
where 连接条件(父表.主码=子表.外码)

from 表1 join 表2
on 连接条件

默认是内连接。
left join:左连接
right join:右连接

第七章 函数
1、字符型
2、数值型
3、日期型
4、判断类if,ifnull,case

第八章 视图
create view 视图名
as
select 语句;

drop view 视图名;

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

七秒半、

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

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

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

打赏作者

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

抵扣说明:

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

余额充值