第一章 数据库
1、DDL数据定义语言
2、DML数据操作语言
3、程序与数据相互独立
逻辑独立性
物理独立性
第二章 数据库系统结构
1、数据模型三要素
数据的基本结构、数据的约束条件(静态特征)
数据的操作(动态特征)
2、E-R(entity-relationship)实体-联系模型
3、组织层数据模型
表、行、列(关系、元组、属性),n列即为n元关系
4、数据完整性
实体完整性:必须有主码(主属性,非主属性)
参照完整性:外码
用户定义完整性:约束
5、三级模式结构
内模式、概念模式、外模式
6、数据字典:存储数据库中各关系(表)的属性的表。
第三章 SQL语言基础
1、语言功能
SQL功能 | 动词 | 操作对象 |
数据定义 | CREATE、DROP、ALTER | 表、视图 |
数据查询 | SELECT | 数据 |
数据操作 | UPDATE、INSERT、DELETE | 数据 |
数据控制 | GRANT、REVOKE | 操作权限 |
2、数据类型
Char与vchar:普通字符编码(8000)
nchar与nvarchar:统一字符编码(4000)
text与ntext:文本
binary与varbinary:二进制字符数据,最大长度均为(8000)
Image:可变长二进制字符数据
3、编码方式
普通字符编码:英文1字节,汉字2字节
统一字符编码(unicode):全为2字节
4、时间类型
Datetime: 8字节,1753——9999
Smalldatetime:4字节,1900——2079
5、基本表的定义与删除
约束:表级、列级完整性约束
列级完整性约束:
NOT NULL
DEFAULT:默认值
UNIQUE:唯一值(可以为空)
CHECK:取值范围
PRIMARY KEY
FOREIGN KEY
(红色标注也可为表级完整性约束)
(1)定义基本表
CREATE TABLE Course
(
Cno char(5) PRIMARY KEY (Cno),
Cname varchar(10) ,
Credit int,
Semester int
)
(2)定义外码约束
FOREIGN KEY (<列名称>) REFERENCES <外表名>(<外表列名>)
CREATE TABLE SC
(
Sno char(7) NOT NULL,
Cno char(20) NOT null,
Grade smallint,
primary key (Sno,Cno),
foreign key (Sno) references student(Sno), --一次只能引用一个外键
foreign key (Cno) references Course(Cno)
)
(3)删除表
DROP TABLE tablename
(4)修改表
ALTER TABLE tablename
ALTER COLUMN 列名 新数据类型
ADD 列名 数据类型 约束
DROP COLUMN 列名
ADD [constraint 约束名] 约束定义
DROP [constraint] 约束名
6、数据完整性
完整性约束的对象:表、元组、列
方法:
定义时声明、服务器端编写触发器
(1)主键约束
ALTER TABLE tablename
ADD [constraint PK_name]
PRIMARY KEY (lieName……)
(2)UNIQUE约束
ALTER TABLE tablename
ADD [constraint UQ_name]
UNIQUE (lieName……)
(3)外码约束
ALTER TABLE tablename
ADD [constraint FK_name]
foreign key (Sno) references student(Sno)
(4)DEFAULT约束
ALTER TABLE tablename
ADD [constraint DF_name]
DEFAULT 默认值FOR 列名
(5)CHECK约束
ALTER TABLE tablename
ADD [constraint CK_name]
CHECK (逻辑表达式)
如:
CHECK (工资>1000)