数据库第一次课:概念
- DB概念(基础概念、目标、码、关系)
- 数据库目标
- 数据冗余与不一致
- 数据访问困难
- 数据孤立
- 完整性
- 原子性
- 并发访问异常
- 安全性
- 数据视图、DML、DDL、关系数据库、储存器、查询器
数据库三层:物理层、逻辑层、视图层。
数据模型:关系模型、实体联系模型、基于对象的数据模型、半结构化模型(XML)
DML数据操纵语言:分为过程化DML和声明式DML。
DDL数据定义语言。
数据库完整性约束:Domain约束、参照完整性约束、断言、授权。
存储管理器:数据库底层数据与程序之间接口。将DML语句翻译为文件系统命令
查询处理器:DDL解释器、DML编译器、查询执行引擎。
- 超码、主码、外码、全码、模式图
- 超码:一个或者多个属性的集合,属性集合可以唯一标识一个关系
- 候选码:超码的任意真子集都不是超码(最小超码)
- 主码:在关系中区分不同元组的候选码。一般是唯一或者改变很少的属性(如ID)。
- 外码:一个关系r1中的属性包括另一个关系r2的主码。r1是外码依赖的参照关系,r2是外码的被参照关系。
模式图:有主码和外码依赖的数据库可以用关系图表示。
- 关系运算
谓词
- 选择()
- 投影()
- 自然连接()
- 笛卡尔乘积()
- 并集()
- Postgre 安装应用
Postgre下载https://www.postgresql.org/download/ 安装全部next,可以不勾选stack builder,勾了也没用。File中user language更换中文界面
表所处位置:
打开命令行:
- 简单SQL语句
SQL基础类型:char(n)、varchar(n)、int、numeric(p,d)、float(d)
- Create table student(name varchar(20), id varchar(20), grade int, begin_year int,Primary key(id));
- Insert into student values(‘cc’,’10086’,3,2020);
- Insert into student(id,name,grade,begin_year) values(‘cc’,’10086’,3,2020);
- Delete from student;
- Drop table student;
- Alter table student add column instructor varchar(20);
- update student set instructor='sucrose' where id='10085';