数据库
第一节(数据库系统概述)
- 数据(date)
- 是描述事物的符号记录,是指用物理符号记录下来的,可以鉴别的信息。
- 数据库(DB)
- 存储数据的仓库。
特点
- 永久储存,有组织,可共享。
- 数据库管理系统(ABS)
- 专门用于建立和管理数据库的软件,以及提供必要的安全性和完整性。
功能
- 数据定义功能
- 数据操纵功能
- 数据库的运行管理功能
- 数据库的建立和维护功能
- 数据有组织,存储和管理功能
- 其他功能(通信功能,不同数据库之间数据的相互共享)
- 应用程序管理数据
特点 - 数据面向应用
- 文件管理系统
特点
- 数据可长期存放在磁盘
- 数据的逻辑结构与物理结构有了区别
- 文件组织呈多样化
- 对数据的操作以记录为单位
- 数据不再属于某个特定的程序可重复使用
- 数据库系统阶段(E,F,code)
重大事件
- 1968年 美国IBM公司 (层次模型)
- 1969年 美国 codesy (网状模型)
- 1970年 美国 EFcode (关系模型)
特点
- 数据集成
- 数据共享性高
- 数据冗余小(文件系统的缺陷)
- 数据一致性(文件系统的缺陷)
- 数据独立性高(文件系统的缺陷)
数据库保护 - 数据的安全性
- 数据的完整性
- 并发控制
- 故障恢复
第三节(数据库系统的结构)
- 三级模式的结构
外模式(子模式和用户模式)
- 模式(概念模式和逻辑模式)
- 内模式(存储模式)
- 两层映像
- 外模式和概念模式(多个)
- 逻辑模式和内模式(唯一一个)
- 数据库系统的运行与应用结构
- 用户与服务器结构(C/S)
- 浏览器与服务器结构(B/S)
第四节(数据模型)
1. 数据模型的组成要素
- 概念层是数据抽象级别的最高层,其目的是按用户的观点来对世界建模。
- 可分为:
- 实体:客观存在相互区别的食物。
- 属性:实体所具有的某种特性。
- 码或键:唯一标识实体的属性集。
- 域:属性的取值范围。
- 实体性:具有相同属性的实体必然具有共同的特征和性质。
- 实体集:同型实体的集合。
- 联系:事物内部和事物之间是有联系的。
- 概念模型的表示方法(1:1 ; 1:n ; n:n)
逻辑层数据模型
- 层次模型(使用最早)
- 网状模型(复杂)
- 关系模型(二维表结构,使用最广)
- 面向对象模型
物理层数据模型
- 定义:描述数据在介质上存储,是逻辑模型的物理实现。
- 概念模型到逻辑模型的转换是由数据库设计人员完成的。
- 逻辑到物理是由数据库管理系统完成的。
第二章 关系数据库
第一节关系数据库概述
- 特征:是使用关系数据模型来组织数据。(主流数据模型)
第二节关系数据模型
- 关系数据结构
- 表:被称为关系,是一个二维表(由表名,构成表的各个列和数据组成)。
- 关系:可分为三种关系,(基本关系,查询表,视图表)。
- 列:被称为字段或属性。
- 属性:和列是同一个意思。
- 行: 被称为元组或记录。
- 元组:
- 分量:元组中的每一个属性值。
- 码或键()
关系操作集合
- 查询操作可以分为:选择,投影,连接,除,并,差,交,笛卡尔积,其中选择,投影,并,差,笛卡尔积是五种基础的,(增,删,改,查,插)。
- 关系数据语言的分类
- 结构化查询语言(SQL)
- 数据定义语言(DDL)
- 数据操纵语言(DML)
- 数据控制语言(DCL)
- 关系的完整性约束
- 数据库的数据完整性是指:数据库中的数据的正确性,相容性,一致性。
1.关系模型中有三类完整性约束:实体完整性约束,参照完整性约束,用户定义完整性约束,其中(实体完整性约束和参照完整性约束是关系的两个不变性)。
- 实体关系完整性约束是指:关系的主属性,即主码的组成不能为空。
- 参照完整性约束是指:定义在主码和外码之间的引用规则。
- 用户定义完整性约束:是针对某一应用环境的完整性约束条件。
关系数据库的规范化理论
关系模式中可能存在的冗余和异常的问题
- 数据冗余
- 更新异常
- 插入异常
- 删除异常
数据依赖(函数依赖与关键字)
- 函数依赖与关键字
- 函数依赖分为:完全函数依赖,部分函数依赖,传递函数依赖。
- 范式与关系规范化过程
规范化:一个低一级范式的关系模式通过模式分解可以转换为多个高一级范式的关系模式的集合
规范化的优点:
- 大大减少了数据冗余
- 改进了数据库整体组织
- 增强了数据的一致性
- 增加了数据库的设计性
- 第一范式(列的字段名不可再分)
- 第二范式(必须满足于一范式,表中非主键列必须完全依赖与任意一个主键位)问题:插入,删除,更新异常,数据冗余。
- 第三范式(必须满足于第二范式,每个非主键位列与主键不存在传递依赖而是完全依赖)
- BCNF(必须满足三范式,消去了主属性对键的传递函数依赖)
数据库操作是在终端下运行的。
- 首先是要下载mysql来进行我们的操作
- 然后就是一些mysql的基本操作了
// 进入到mysql
mysql -u root -p
// 接下来只需要输入你的密码就行了
password:
// 接下来我们就可以直接使用命令来做我们想做的一些基本操作了
// 显示数据库
show databases;
// 创建你自己的数据库
create database xiaogu(数据库名);
// 显示一下数据库
show databases;
// 删除自己创建的数据库
drop database xiaogu;(数据库名)
show databases;
use xiaogu(更换数据库)
// 接下来是对表进行操作了
create table xsb(id int(11)not null,name varchar(3),qq int(11));
desc xsb;
insert into xsb values(214242,’小灰’,24441444);
select * from xsb;
//更改表名
rename table xsb to 学生表;
// 在表里添加参数
alter table xsb add phone int(11);
// 在表里修改参数
alter table xsb change id _id int(11);
// 在表里删除参数
alter table xsb drop id;
qeqee|eqeqeq|
|——|——|
|<++>|<++>|