关系代数运算、E-R模型转换-----牛客网

一、SQL包括了所有对数据库的操作,主要是由4个部分组成:

1.数据定义:这一部分又称为“SQL DDL”,定义数据库的逻辑结构,包括定义数据库、基本表、视图和索引4部分。

数据定义语句(DDL):create、alter、drop、rename.

2.数据操纵:这一部分又称为“SQL DML”,其中包括数据查询和数据更新两大类操作,其中数据更新又包括插入、删除和更新三种操作。

数据操作语句(DML):insert、delete、update

3.数据控制:对用户访问数据的控制有基本表和视图的授权、完整性规则的描述,事务控制语句等。

数据控制语句(DCL):grant、revoke、deny

grant:授权用户某些权限。revoke:删除用户的某个权限。deny:剥夺某个账户访问许可。

4.嵌入式SQL语言的使用规定:规定SQL语句在宿主语言的程序中使用的规则。

二、关系代数运算

1、传统的集合运算(四种):

并(∪)、差(-)、交(∩)和笛卡儿积(×)

2、专门的关系运算符(四种):

投影(π)、选择(σ)和连接([*]])和除(÷)

其中,并、差、笛卡尔积、投影、选择为基本运算符。剩余的交、连接、除可以用前5种基本运算来表达。

三、E-R模型和关系模型转换关系

实体--联系模型转换关系模型(注意:联系模型,关系模型,不一样)

1、实体类型转换:每个实体类型转换成一个关系模式,实体的属性为关系模式的属性,实体的标识符为关系模式的键。

2、联系类型转换:

①  (一对一)1:1 转换:可以在(两个实体类型转换成的两个关系模式)已转换的关系模式中任意一个关系模式的属性中加入另一个关系模式的键(作为外键)和联系类型的属性。

通俗就是,两个实体转换了两个关系A,B,在关系A中加入关系B的键(关系B的键作为A的外键),组合起来成为联系的属性。

②  (多对一)  1:n 转换:在N端实体类型转换成的关系模式中加入1端实体类型的键(作为外键)和联系类型的属性。

注:多对一是在n端加入1端,一对一是A加入B,B加入A都行

③   (多对多)  m:n 转换:将联系类型也转换成关系模式关系模式的属性为两端实体类型的键(作为外键)加上联系类型的属性,而关系模式的键(码)为两端实体键(码)的组合。

牛客网解释—— 一个m:n的联系可以转换成一个独立的关系模式,与该联系相连的  各实体的码和联系本身的属性  转换为关系的属性,而关系的码为各实体码的组合。

总结:其实有三个要转换,实体转换成实体(实质不变),实体的属性转换成关系的属性。实体之间的联系按照上述方法转换

eg:

第一步:把三个实体类型转换成三个模式:

系(系编号,系名,电话)

教师(教工号,姓名,性别,职称)

课程(课程号,课程名,学分)

第二步:

  1. 对于1:1联系“主管”,可以再“系”模式中加入教工号(教工号为外键,用波浪线表示);
  2. 对于1:N联系“聘用”,可以再“教师”模式中加入系编号和聘期两个属性(系编号为外键);
  3. 对于1:N联系“开设”,可以再“课程”模式中加入系编号(系编号为外键);

这样得到的三个模式成如下形式

第三步:对于M:N联系“任教”,则生成一个新的关系模式:

第四步:整合后关系模式如下:

学习链接:https://blog.csdn.net/haovip123/article/details/21708041

相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页