关系数据模型(数据库原理与应用).ppt
关系数据库的联系外码如果一个关系的属性或属性组是另一个关系的主码,则该属性或属性组称为该关系的外码外码是关系数据库实现数据之间联系的方法学生学号姓名性别班级名称4001张三女04计算机4002李四男04通信4010王五男04电子4011赵六女04教育4015丁一女04教育班级班级名称系名称班主任04计算机计算机系刘武04通信通信系马文04电子通信系郑强04教育教育系周亮联系主码外码关系完整性规则实体完整性主码非空参照完整性不含无效外码,外码可以为空用户定义完整性如:规定将成绩限制在0~100之间数据字典与系统目录数据字典中包括数据库中表的结构信息、索引、用户、完整性约束、安全性约束等信息,以保证数据库系统正确运行系统目录是为系统建立的数据库,也是以表的形式来存储P26图2.8关系代数关系代数是以关系为运算对象的一组高级运算的集合分类:一元运算、二元运算关系输入运算输出新关系关系输入关系输入运算输出新关系选择一元运算,从关系中选择满足条件的元组构成一个新的关系形式定义:σF(R)={t|t∈R∧F(t)=true}σ为选择运算符,F为选择条件,R为关系t为元组,∧为逻辑与运算学生关系学号姓名性别班级名称4001张三女04计算机4002李四男04通信4010王五男04电子4011赵六女04教育4015丁一女04教育σ性别=‘男’(学生)男学生关系学号姓名性别班级名称4002李四男04通信4010王五男04电子投影一元运算,从关系中选择某些属性列构成一个新关系形式定义:∏A(R)={t[A]|t∈R}A为关系R中的属性列集学生关系学号姓名性别班级名称4001张三女04计算机4002李四男04通信4010王五男04电子4011赵六女04教育4015丁一女04教育∏姓名,班级(学生)名单关系姓名班级名称张三04计算机李四04通信王五04电子赵六04教育丁一04教育并二元运算,将两个相容关系的所有元组构成一个新关系所谓相容是指两个关系的属性数目相同,且相应属性的性质(属性域)相同形式定义:R∪S={t|t∈R∨t∈S}∨为逻辑或运算RSR∪S差二元运算,将两个相容关系R和S中属于R但不属于S的元组构成一个新关系形式定义:R-S={t|t∈R∧t?S}RSR-S笛卡尔积二元运算,设关系R和S的属性数分为m和n,则R和S的笛卡尔积是一个具有m+n个属性的新关系,其中每个元组的前m个属性来自R的一个元组,后n个属性来自S的一个元组形式定义R×S={t|t=tm,tn∧tm∈R∧tn∈S}笛卡尔积例2.6:有学生和必修课关系,规定每一名学生必须学习所有必修课程,试通过关系代数计算出该学习关系学生(学号,姓名)必修课(课号,课程名,学分)学习(学号,姓名,课号,课程名,学分)学习=学生×必修课笛卡尔积学生关系学号姓名04001张三04002李四必修课关系课号课程名C01数据库C02英语学分45学习关系学号姓名课号课程名学分04001张三C01数据库404001张三C02英语504002李四04002李四C01数据库4C02英语5交二元运算,将同属于两个相容关系的元组构成一个新关系形式定义:R∩S={t|t∈R∧t∈S}RSR∩S连接二元运算,是将两个关系的笛卡尔积中满足连接条件的元组构成一个新关系S=σF(R×S)FR连接条件F的一般形式为:条件1逻辑运算符条件2逻辑运算符…逻辑运算符条件n逻辑运算符包括:与∧,或∨,非┓每个条件一般表示为AiθBjAi是R的一个属性,Bj是S的一个属性,θ是一个比较运算符(=,,≥,,≤,≠)一般将SAiθBjR称为θ连接连接等值连接θ为=的连接运算自然连接SR计算R×S设R和S的公共属性为A1,…,Ak,从R×S中选择满足R.A1=S.A1∧…∧R.Ak=S.Ak的元组去掉S.A1,…,S.Ak连接例2.8:使用自然连接列出学生和所在系的信息系系编号系主任102齐丽103白向阳地址A301B209学生学号姓名99202何海洋99212田平平系编号10210299303康立华99310白纬强103103系×学生系编号系主任102齐丽