数据库第一次课:概念

  1. DB概念(基础概念、目标、码、关系)
    1. 数据库目标
  • 数据冗余与不一致
  • 数据访问困难
  • 数据孤立
  • 完整性
  • 原子性
  • 并发访问异常
  • 安全性
    1. 数据视图、DML、DDL、关系数据库、储存器、查询器

数据库三层:物理层、逻辑层、视图层。

数据模型:关系模型、实体联系模型、基于对象的数据模型、半结构化模型(XML)

DML数据操纵语言:分为过程化DML和声明式DML。

DDL数据定义语言。

数据库完整性约束:Domain约束、参照完整性约束、断言、授权。

存储管理器:数据库底层数据与程序之间接口。将DML语句翻译为文件系统命令

查询处理器:DDL解释器、DML编译器、查询执行引擎。

    1. 超码、主码、外码、全码、模式图
  • 超码:一个或者多个属性的集合,属性集合可以唯一标识一个关系
  • 候选码:超码的任意真子集都不是超码(最小超码)
  • 主码:在关系中区分不同元组的候选码。一般是唯一或者改变很少的属性(如ID)。
  • 外码:一个关系r1中的属性包括另一个关系r2的主码。r1是外码依赖的参照关系,r2是外码的被参照关系。

模式图:有主码和外码依赖的数据库可以用关系图表示。

    1. 关系运算

谓词

  • 选择()
  • 投影()
  • 自然连接()
  • 笛卡尔乘积()
  • 并集()
  1. Postgre 安装应用

Postgre下载https://www.postgresql.org/download/ 安装全部next,可以不勾选stack builder,勾了也没用。File中user language更换中文界面

表所处位置:

打开命令行:

  1. 简单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';