资源描述:
《relational_algebra》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、QueryingtheDatabase•Goal:specifywhatwewantfromourdatabaseUIUC-employee(SSN,name,address,salary)IRS-IL(SSN,city,year-of-filed-return)•Findalltheemployeeswhoearnmorethan$50,000andpaytaxesinChampaign-Urbana.1QueryingtheDatabase•CouldwriteinC++/Java,butbadidea•Insteadusehigh-le
2、velquerylanguages:–Theoretical:RelationalAlgebra,Datalog–Practical:SQL–Relationalalgebra:abasicsetofoperationsonrelationsthatprovidethebasicprinciples.•Worryfree2Whatisan“Algebra”?•Mathematicalsystemconsistingof:–Operands---variablesorvaluesfromwhichnewvaluescanbeconstructe
3、d.–Operators---symbolsdenotingproceduresthatconstructnewvaluesfromgivenvalues.3Q:Examplealgebra?•Arithmeticalgebra.Linearalgebra.•Whatareoperands?•Whatareoperators?4WhatisRelationalAlgebra?•Analgebrawhoseoperandsarerelationsorvariablesthatrepresentrelations.•Operatorsaredes
4、ignedtodocommonthingsthatweneedtodowithrelationsinadatabase.•Theresultisanalgebrathatcanbeusedasaquerylanguageforrelations.5RelationalAlgebraataGlance•Operators:relationsasinput,newrelationasoutput•FivebasicRAoperations:–BasicSetOperations•union,difference(nointersection,no
5、complement)–Selection:s–Projection:p–CartesianProduct:X•Whenourrelationshaveattributenames:–Renaming:r•Derivedoperations:–Intersection,complement–“Join”s(natural,equi-join,thetajoin)6BasicRAOperations7SetOperations•Union,difference•Binaryoperations8SetOperations:Union•Union
6、:alltuplesinR1orR2•Notation:R1UR2•R1,R2musthavethesameschema•R1UR2hasthesameschemaasR1,R29SetOperations:Difference•Difference:alltuplesinR1andnotinR2•Notation:R1–R2•R1,R2musthavethesameschema•R1-R2hasthesameschemaasR1,R210Selection•Returnsalltupleswhichsatisfyacondition•Not
7、ation:σc(R)•cisacondition(uses=,<,>,and,or,not)•Outputschema:sameasinputschema11SelectionExampleEmployeeSSNNameDepartmentIDSalary999999999John130,000777777777Tony132,000888888888Alice245,000Findallemployeeswithsalarymorethan$40,000.σSalary>40000(Employee)SSNNameDepartmentID
8、Salary888888888Alice245,00012SelectionExampleEmployeeSSNNameDepartmentIDSalary9999