
基本概念
数据: 描述事物的符号记录
: 是计算机上存储的长期,有组织,可共享的数据集合
系统: 系统是一种存储,管理,处理和维护数据的系统,该数据包括系统概论,管理系统(及其应用程序开发工具)系统概论,应用程序和管理员(管理员(DBA) )).
数据独立性包括物理和逻辑独立性
物理独立性: 指用户的应用程序与中数据的物理存储彼此独立
逻辑独立性: 用户应用程序和的逻辑结构相互独立
实体: 客观存在且可以区分的东西
属性: 实体的属性
键: 唯一标识实体的属性集
实体类型: 使用实体名称及其属性名称集来抽象和表征相似的实体. 例如,学生(学生人数,姓名,性别,出生日期,部门,入学时间)是一种实体类型.
实体集: 相同类型的实体的集合. 例如,所有学生都是一个实体集
关系: 实体之间的关系通常是指不同组实体之间的关系. 实体之间的关系类型很多,例如,一对多和多对多.
类似于树形结构
(1)只有一个根节点
(2)没有多对一的关系,可以和一对多
(1)允许多个节点没有父母
(2)可以有很多对很多

![]()
关系系统使用关系模型作为数据组织方法
基本概念:
关系: 关系对应于通常引用的表
元组: 表中的一行是元组
属性: 表中的一列是一个属性,为每个属性指定一个名称就是属性名称
键(键): 表中的属性组,可以唯一地确定元组
domain: 域是相同数据类型的值的集合. 也就是说,某个属性的值范围
component: 元组中的属性值
关系模式: 对关系的描述,通常表示为
关系名称(属性1,属性2,...,属性n)

1.schema
模式,也称为逻辑模式,是对中所有数据的逻辑结构和特征的描述,并且是所有用户的通用数据视图.
2. 外部架构
这是用户可以查看和使用的本地数据的逻辑结构和特征的描述
3. 内部架构
一个只有一个内部架构. 它是对数据的物理结构和存储的描述
基本概念:
候选代码: 某个属性组的值可以唯一地标识一个元组,但是它本身不能,因此该属性组称为候选键.

主密码: 如果某个关系有多个候选密码,请选择其中一个作为主键
主要属性: 候选代码的属性称为(主要属性)
非主要属性: 未包含在任何候选代码中的属性
所有键: 关系模式的所有属性都是该关系模式的候选代码
如果属性A是基本关系的主要属性,则A不能为空值

1. 选择
选择是在关系R中选择满足给定条件的元组,并将其写为
δF(R)= {t | t∈R∩F(t)='真'}
其中F表示选择条件,它是一个逻辑表达式
例如: 查询新闻系(IS)的学生
δSdept='IS'(学生)
2. 投影
关系R的投影是从R中选择许多属性列以形成一个新关系,写为
∏A(R)= {t [A] | t∈R}
其中A是R中的属性列
例如: 查询学生的姓名和部门
∏名字,部门(学生)
3. 连接


其中,A和B是分别在R和S上具有相等和可比较列的属性组,而θ是比较运算符.
1. 定义模式
CREATE SCHEMA<模式名> AUTHORIZATION<用户名>
2. 删除模式
DROP SCHEMA<模式名><CASCADE|RESTRICT>
1. 定义基本表
CREATE TABLE<表名>(<列名><数据类型>[列级完整性约束条件] [,<列名><数据类型>[列级完整性约束条件]] ··· [,<表级完整性约束条件>]);
示例:

2. 修改基本表
ALTER TBALE<表名> [ADD [COLUMN]<新列名><数据类型>[完整性约束]] [ADD<表级完整性约束>] [DROP[COLUMN]<列名>[CASCADE|RESTRICT]] [DROP CONSTRAINT<完整性约束名>[RESTRICT|CASCADE]] [ALTER COLUMN<列名><数据类型>];
3. 删除基本表
DROP TABLE <表名> [RESTRICT|CASCADE]
1. 索引
CREATE [UNIQUE][CLUSTER] INDEX <索引名>
ON <表名>(<列名>[<次序>][,<列名>[<次序>]]···);
2. 修改索引
ALTER INDEX <旧索引名> RENAME TO <新索引名>;
SELECT [ALL|DISTINCT] <目标列表达式> [,<目标列表达式>]··· FROM <表名或视图名> [,<表名或视图名>···]|(<SELECT 语句>) [AS] <别名> [WHERE <条件表达式>] [GROUP BY <列名1> [HAVING <条件表达式>]] [ORDER BY <列名2> [ASC|DESC]];
INSERT INTO <表名>[<属性列1>][,<属性列2>···] VALUES(<常量1>[,<常量2>]···)
INSERT INTO <表名>[<属性列1>][,<属性列2>···] 子查询;
UPDATE <表名> SET <列名> = <表达式>[,<列名>=<表达式>]··· [WHERE<条件>];
DELETE FROM <表名>
[WHERE<条件>]; CREATE VIEW <视图名>[(<列名>[,<列名>]···)] AS <子查询> [WITH CHECK OPTION]
在更新,插入或删除时,WITH CHECK OPTION可以自动在子查询中添加条件

DROP VIEW <视图名> [CASCADE]
1.GRANT
GRANT <权限>[,权限]··· ON <对象类型><对象名>[,<对象类型><对象名>]··· TO <用户>[,<用户>]··· [WITH GRANT OPTION]
如果指定了WITH GRANT OPTION子句,则获得一定权限的用户也可以将此权限授予其他用户
2. 撤消
REVOKE<权限>[,<权限>]··· ON <对象类型><对象名>[,<对象类型><对象名>]··· FROM <用户>[,<用户>]···[CASCADE|RESTRICT]
1. 角色创建
CREATE ROLE <角色名>
2. 授权角色
GRANT <权限>[,<权限>]··· ON <对象类型>对象名 TO <角色>[,<角色>]···
3. 将角色授予其他角色和用户
GRANT <角色1>[,<角色2>]··· TO <角色3>[,<用户1>]··· [WITH ADMIN OPTION]
如果指定了WITH ADMIN OPTION子句,则获得特定权限的角色或用户也可以将此权限授予其他角色
4. 撤销角色权限
REVOKE <权限>[,<权限>]··· ON <对象类型><对象名> FROM <角色>[,<角色>]···
可以通过模式分解将低级范例关系模式转换为一组高级范例关系模式,
此过程称为标准化.
每个组件必须是不可分割的数据项
如果R∈1NF,并且每个非主要属性完成函数都取决于任何候选代码,则R∈2NF
例如: SLC的代码为(Sno,Cno),Sdept和Sloc依赖于Sno,而不依赖于Cno,则不满足第二范式.
如果R∈2NF,并且非主要属性不能具有传递依赖项
例如: SLC的代码为(Sno,Cno),Sno确定Sdept,Sdept确定Sloc,并且存在一个传递依赖项,例如Sno-> Sdept-> Sloc,它不满足第三范式
如果R∈3NF,则代码中的main属性必须没有部分或可传递的依赖关系.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-152465-1.html