数据库模式
三级模式结构:模式、外模式、内模式
两级映像结构:外模式/模式映像、模式/内模式映像
两层映像保证了数据库的逻辑性和独立性
E-R图
组成部分:
- 矩形,代表实体型;
- 椭圆,代表属性;
- 菱形,代表联系;
- 线段,将属性和实体性相连或将实体型和联系相连。
关系模型
由数据结构,数据操作,完整性约束条件 三部分组成。
数据操作 : 选择、投影、连接、除、并、交、差
完整性约束:实体完整性、参照完整性和用户定义完整性。
其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件。
实体完整性规则是:关系的主码不能取空值。
参照完整性规则是:外码必须是另一个表中主码的有效值,或者是“空值”。
连接运算
联接有三种:自然联接,等值联接
SQL语句
sql语句不区分大小写,使用单引号来环绕文本值,数值不需使用
where子句中可以使用下列运算符:
l 算术运算符(>, <,<>, !=, >=, <=)
l 逻辑运算符( BETWEEN, AND 和 OR )
l 字符串匹配运算符( like,not like )
l 集合成员资格运算符,包括( in,not in )
l 谓词,包括( exists,all,some,unique )
l 聚合函数,包括( avg,min,max,sum和count )
l 还可以是另一个select语句
select语句完整语法:
select 目标表的列名或列表达式序列
from 基本表名和(或)视图序列
[where 行条件表达式]
[group by 列名序列]
[having 组条件表达式]
[order by 列名[asc 默认升序 | desc降序排列]]
整个语句的执行过程如下:
- 读取from子句中基本表、视图的数据,执行笛卡尔积操作;
- 选取满足where子句中给出的条件表达式的元组;
- 按group子句中指定列的值分组,同时提取满足having子句中组条件表达式的那些组;
- 按select子句中给出的列名或列表达式求值输出;
- order子句对输出的目标表进行排序,按附加说明asc升序排列,或按desc降序排列。
基本表的操作
创建表
NOT NULL 不向字段添加值,就无法插入新记录或者更新记录
UNIQUE 约束唯一标识数据库表中的每条记录
DEFAULT 约束用于向列中插入默认值。
CREATE TABLE Persons
(
Id_P int NOT NULL AUTO_INCREMENT PRIMARY KEY,
LastName varchar(255) UNIQUE,
FirstName varchar(255),
Address varchar(255),
City varchar(255) DEFAULT 'Sandnes',
FOREIGN KEY (Id_P) REFERENCES Persons(Id_P)
)
修改表
添加、修改或删除列
ALTER TABLE table_name
ADD column_name datatype
ALTER TABLE table_name
DROP COLUMN column_name