Relational Algebra

“——————————————————————————————————————————————————

Support translation: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
Relational Algebra
What is an Algebra?
algebra (al-je-bre) noun
Mathematics
1 A generalisation of arithmetic in which symbols, usually letters of the alphabet, represent numbers or members of a specific set of numbers and are related by operations that hold for all numbers in the set.
2 A set together with operations defined in the set that obey specified laws.
3 Word introduced by Arab mathematician al-Khwarizmi (circa 900 AD) and brought over into Latin by Robert of Chester in 1145.

[Middle English, bone-setting and Italian, algebra, both from Medieval Latin, from Arabic al-jabr, the (science of) reuniting: al, the + jabr, reunification, bone-setting.]
Algebraic languages are common in computing: Boolean algebra for logic gates; and Relational algebra for database DML.
Basic ingredients of an algebra are a set (i.e. operand) and operations (i.e. operators) that act on all elements of the set.
Operator properties (for example, consider an integer set and the addition operation) include: Addition is commutative over the integers since 3 + 4 = 4 + 3 (plus(3,4) == plus(4,3)); and Addition is said to be associative over the integers since 3 + (4 + 5) = (3 + 4) + 5 (plus (3,plus(4,5)) == plus(plus(3,4),5))).
Characteristics of the Rel. Algebra
It manipulates entire relations through a
semantically unambigous set of operations (Ed
Codd 1970).

The relational algebra’s sets are the relation’s
extension (tuples,rows) and the operators have
either a set theoretic origin or relation oriented
favour.

A relational algebraic expression has as inputs one
(unary), or two (binary), relations and sometimes a
selection condition.
While an expression’s output is a single relation.

Other Characteristics:

the algebra’s operators work on all of the relation’s tuples;

the algebra has a procedural computational
model;

But it is not “”Turing complete””, one can write a
Pascal program that manipulates relations for
which there is no algebraic equivalent.

a selection condition has to be evaluated against
each tuple independently;

the output of an algebraic operation is an
acceptable input to a consequent algebraic
expression – this is called expression
composition.

Operators: Union (binary)
What about the typing of a relational algebraic expression and its resultant relation?
“”UNION”” COMPATIBILITY (u.c.) of TWO RELATIONS For a binary expression, the two participating relations (operands — R1 and R2) must have the following structural constraints for the expression to be type correct: 1) both relations have the same degree (i.e. n); & 2) for each attribute (1 < = i <= n), the domain (R1.Attr_i) = domain(R2.Attr_i). THE DATA TYPE OF AN Expression’s IF the two relations are in u.c. THEN the relation schema of the resultant is arbitrary chosen to be that of the first operand. ELSE … (operand specific – e.g. product operator) Semantics: The resultant relation has all the tuple present in either the first, the second or both operands.
Typing:
The type of the resultant relation schema is that of the first operand if both operand relations are in u.c.
Notation:
R1 U R2 UNION(R1,R2)
commutative YES associative YES
Operators: Difference (binary)
Semantics:
The resultant relation includes all the tuples of the first operand that are not present in the second operand.
Typing:
The type of the resultant relation schema is that of the first operand if both operand relations are in u.c.
Notation:
R1 – R2 DIFF(R1,R2)
commutative NO associative NO
Operators: Selection (unary)
Semantics:
Create a new relation by extracting from the operand all tuples that satisfy the selection conditions.
Tuples:
The type of the resultant relation schema is equivalent to the operand’s schema.
A selection condition has the following form:
Attribute name Comparison op. Constant value or Attribute name Comparison op. Attribute name
A series of Selection conditions could be combined as in select condition1 AND select condition2 or select condition1 OR select condition2
Some typical comparison operators for ordered domains include >, < , ==, !=, etc
Notation:
(select condition) R1 SELECT (R1, selection condition)
Note:
The resultant is a subset of the operand!

commutative YES associative YES
Relational Algebra: Operators: Product (binary)
Semantics:
Create a new relation by executing a Cartesian product
of the two operands.
(If the cardinalities of R1 and R2 are 60000 and 500
respectively, their product’s cardinality is 60000 * 500 =
3,000,000!)

Typing:
The operands can have any relation schema. The resultant relation schema is equivalent to the concatenation of the operand’s relation schema.
Notation:
This is an extremely computationally expensive
operation!
Also, the resultant extension is not usually meaningful!!

commutative Yes
associative Yes

Operators: Projection (unary)
Semantics:
Create a new relation by removing from the operand all attributes (and consequently their values) that are not mentioned in the projection expression.
Typing:
The type of the resultant schema is equivalent to the operand’s schema but excluding attributes not mentioned in the attribute list.
Notation:
(attr…x1,…,attr_xn) PROJECT(R1,attr_x1,…,attr_xn)
Note:
Duplicate values are implicitly removed!
Further Notes:
In an algebraic expression with a string of projects we have two things going on – restructuring and re-extending!! With certain algebraic manipulations one can overcome these restrictions.
commutative (in general) No associative (in general) No
Minimal set of operators
It can be shown that a subset of the presented operators (specifically the select, project, union, difference and product) are adequate, or complete, to describe the other operators (for example join, intersection etc).
The exclusive use of operators from the complete set make reading some natural algebraic expressions extremely unyielding!
For example, the intersection operator has this form:
INTERSECTION (R1,R2)
is equivalent to DIFF ( UNION (R1,R2), UNION (DIFF(R1,R2), (DIFF(R2,R1) ) )
or equivalent to
DIFF(R1,DIFF(R1,R2))
Why an algebra?
a simple language
set at a time access
semantically sound
expresses the same queries that another relational model based language describes
(i.e. the declarative relational calculus)
procedural
optimisable
Query (one) – Company
Retrieve then name and address of all employees who work for the ‘Research’ department.
research_dept := select dname=’Researcg’ (department);
research_dept_emps := select dnumber=dno (research_dept product employee);
algl1 := project fname, lname, address (research_dept_emps);
Query (two) – Company
For every project located in ‘Stafford’, list the Project number, the controlling department number, And the department manager’s last name, address, And birthdate.
Stafford-_projs := select plocation=’Stafford’ (projects);
Contr_dept := select dnum-dnumber (Stafford_projs product department);
proj_dept_mgr := select mgrssn=ssn (contr_dept product employee);
alg2 := project pnumber, dnum, lname, address, bdate (proj_dept_mgr);
Query (three) – Company
Find the names of employees who work on all the Projects controlled by department number 5.
Dept5_projs(pno) := project pnumber (select dnum=5 (projects)); emp_proj(ssn,pno) := project essn, pno (works_on); emp_proj_ssns := project ssn (emp_proj); % All possibilities of employees working on dept5 projects. Poss_emps_dept5 := (dept5_projs product emp_proj_ssns);/ % Employees that don’s work on all dept5 projects.. emps_not_dept5 :=project ssn (poss_emps_dept5 difference emp_proj); result_emp_ssns :=emp proj ssns difference emps_not_dept5; alg3 :=project lname, fname (result_emp_ssns njoin employee);
Query (four) – Company
Make a list of project numbers for projects that Involve an employee whose last name is ‘Smith’, Either as a worker or as a manager of the Department that controls the project.
Smiths(essn) := project ssn (select lname= ‘Smith’ (employee));
smith_worker_projs := project pno (works_on njoin smiths);
mgrs := project lname, dnumber (select ssn=mgrssn (employee product department));
smith_mgrs := selecy lname=’Smith’ (mgrs);
smith_managed_depts(dnum) := project dnumber (smith_mgrs);
smith_mgr_projs(pno) := project pmumber (smith_managed_depts njoin projects);
alg3 := smith_worker_projs union smith_mgr_projs;
Query (five) – Company
List the names of all employees with two or more Dependents.
% Make two copies of employees with dependents.
Empdep1(essn, depname1) := project essn, dependent_name (dependent);
empdep2(essn2, depname2) := empdep1;
& Employees with more than one dependent.
Emps_gtone_dep(ssn) := project essn1 (select (essn=essn2) and (depname1<>depname2) (empdep1 product empdep2));
alg5 := project lname, fname (employee njoin emps)gtone_dep);
Query (six) – Company
Retrieve the names of employees who have no Dependents.
All_emps := project ssn (employee); Emps_with_deps(ssn) := project essn (dependent); Emps_without_deps := (all_emps
Difference emps_with_deps); Alg6 := project lname, fname
(emps_without_deps njoin employee);
Query (seven) – Company
List the names of managers who have at least One dependent.
Mgrssn(ssn) := project mgrssn (department); Emps_with_deps(ssn) := project essn (dependent); Mgrs_with_deps := (mgrssn intersect emps_with_deps); Alg7 := project lname, fname
(mgrs_with_deps njoin employee);

“——————————————————————————————————————————————————

Appoġġ traduzzjoni: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
relazzjonali Alġebra
X’inhu Alġebra?
alġebra (al-je-għmr) Nom
matematika
1 A ġeneralizzazzjoni ta ‘aritmetika li fihom simboli, normalment ittri tal-alfabett, jirrappreżentaw numri jew membri ta’ sett speċifiku ta ‘numri u huma relatati mill-operazzjonijiet li jżommu għal numri kollha fis-sett.
2 A sett flimkien ma ‘operazzjonijiet definiti fis-sett li jobdu liġijiet speċifikati.
3 Kelma introdotta mill matematiku Għarab al-Khwarizmi (circa 900 AD) u nġiebu fis Latina minn Robert ta Chester fl 1145.

[Nofsani Ingliż, bl-għadam iffissar u Taljan, alġebra, kemm mill Medjevali Latina, mill-Għarbi al-jabr, il (xjenza tal) terġa ‘tingħaqad:. Al, il-+ jabr, riunifikazzjoni, bl-għadam iffissar]
lingwi alġebrin huma komuni fl-informatika: alġebra Boolean għall logic gates; u alġebra relazzjonali għall DML database.
ingredjenti bażiċi ta ‘algebra huma sett (operand jiġifieri) u l-operazzjonijiet (operaturi jiġifieri) li jaġixxu fuq l-elementi kollha tas-sett.
Proprjetajiet operatur (per eżempju, jikkunsidraw integer stabbiliti u t-tħaddim żieda) jinkludu: iż-żieda hija kommuttativa fuq l-interi mit-3 + 4 = 4 + 3 (plus (3,4) == plus (4.3)); u Żjieda huwa qal li jkun assoċjattiv fuq l-interi sa 3 + (4 + 5) = (3 +4) + 5 (plus (3, flimkien ma ‘(4,5)) == flimkien (miżjuda (3,4), 5 ))).
Karatteristiċi ta ‘l-Rel. alġebra
Hija jimmanipula relazzjonijiet kollu permezz ta ‘
sett semantikament unambigous ta ‘operazzjonijiet (Ed
Codd 1970).

Settijiet il alġebra relazzjonali huma l-tal f’relazzjoni
estensjoni (tuples, ringieli) u l-operaturi għandhom
jew oriġini theoretic sett jew relazzjoni orjentati
favur.

A espressjoni algebra relazzjonali għandha bħala inputs wieħed
(Unary), jew tnejn (binarja), ir-relazzjonijiet u kultant
kundizzjoni għażla.
Filwaqt li espressjoni produzzjoni hija relazzjoni waħda.

Karatteristiċi oħra:

operaturi tal-Algebra jaħdem fuq kollha ta ‘tuples r-relazzjoni ta;

l-alġebra għandha komputazzjoni proċedurali
mudell;

Iżda mhux “”Turing komplet””, wieħed jista ‘jikteb
programm Pascal li jimmanipula r-relazzjonijiet għall
li m’hemm l-ebda ekwivalenti alġebrin.

kundizzjoni għażla trid tiġi evalwata kontra
kull tuple b’mod indipendenti;

l-output ta ‘operazzjoni alġebrin huwa
kontribut aċċettabbli għal alġebrin konsegwenti
espressjoni – dan jissejjaħ l-espressjoni
kompożizzjoni.

Operaturi: Unjoni (binarju)
Xi ngħidu dwar il-ittajpjar ta ‘espressjoni alġebrin relazzjonali u r-relazzjoni riżultanti tagħha?
“”UNION”” KOMPATIBILITÀ (uc) tal ŻEWĠ RELAZZJONIJIET Għal espressjoni binarja, iż-żewġ parteċipanti Relazzjonijiet (operands – R1 u R2) għandu jkollu l-limitazzjonijiet strutturali li ġejjin għall-espressjoni li jkun tip korrett: 1) kemm ir-relazzjonijiet għandhom l-istess grad ( jiġifieri n); & 2) għal kull attribut (1 <= i <= n),-dominju (R1.Attr_i) = domain (R2.Attr_i). Dejta tat-tip TA ‘s Espressjoni Jekk iż-żewġ relazzjonijiet huma u.c. Imbagħad il-schema-rigward tal-riżultanti hija arbitrarja magħżula biex tkun dik ta ‘l-ewwel operand. IKTAR … (operand speċifiku – pereżempju operatur prodott) Semantika: Ir-relazzjoni li jirriżulta jkollu l-tuple preżenti jew fil-ewwel, it-tieni jew it-tnejn operands.
ittajpjar:
It-tip ta ‘l-iskema rigward ta riżultanti hija dik ta’ l-ewwel operand jekk kemm ir-relazzjonijiet operand huma u.c.
notazzjoni:
R1 U R2 UNJONI (R1, R2)
kommuttativa assoċjattiva IVA IVA
Operaturi: Differenza (binarju)
semantika:
Ir-relazzjoni li tirriżulta tinkludi l-tuples tal-ewwel operand li mhumiex preżenti fit-tieni operand.
ittajpjar:
It-tip ta ‘l-iskema rigward ta riżultanti hija dik ta’ l-ewwel operand jekk kemm ir-relazzjonijiet operand huma u.c.
notazzjoni:
R1 – R2 DIFF (R1, R2)
LE kommuttativa LE assoċjattiva
Operaturi: Għażla (unary)
semantika:
Oħloq relazzjoni ġdida mill-estrazzjoni mill-operand tuples kollha li jissodisfaw il-kundizzjonijiet ta ‘selezzjoni.
tuples:
It-tip ta ‘l-iskema rigward tal riżultanti hija ekwivalenti għal schema tal-operand tal.
Kundizzjoni għażla għandha l-forma li ġejja:
Attribut isem op Paragun. valur kostanti jew Attribut isem Paragun op. attribut isem
Serje ta ‘kundizzjonijiet ta’ Selezzjoni jistgħu jiġu kkombinati bħal fil condition1 tagħżel u tagħżel condition2 jew tagħżel condition1 jew tagħżel condition2
Xi operaturi paragun tipiċi għal oqsma ordnati jinkludu>, <, ==,! =, Eċċ
notazzjoni:
(Agħżel kundizzjoni) R1 TAGĦŻEL (R1, kundizzjoni għażla)
Nota:
Il riżultanti hija sottosett tal-operand!

kommuttativa assoċjattiva IVA IVA
Relazzjonali Alġebra: Operaturi: Prodott (binarju)
semantika:
Oħloq relazzjoni ġdida billi jeżegwixxu prodott Kartesjani
taż-żewġ operands.
(Jekk il-cardinalities ta R1 u R2 huma 60000 u 500
rispettivament, cardinality prodott tagħhom huwa 60000 * 500 =
3,000,000!)

ittajpjar:
Il-operands jista ‘jkollhom xi schema-rigward. Il schema-rigward li jirriżulta huwa ekwivalenti għall-konkatenazzjoni tal schema-rigward tal-operand tal.
notazzjoni:
Dan huwa estremament computationally għalja
operazzjoni!
Ukoll, l-estensjoni tirriżulta mhux normalment sinifikanti !!

kommuttativa Iva
assoċjattiva Iva

Operaturi: Projezzjoni (unary)
semantika:
Oħloq relazzjoni ġdida billi tneħħi mis-operand attributi kollha (u konsegwentement valuri tagħhom) li mhumiex imsemmija fl-espressjoni projezzjoni.
ittajpjar:
It-tip ta ‘l-iskema li jirriżulta huwa ekwivalenti għall schema tal-operand iżda esklużi l-attributi mhumiex imsemmija fil-lista attribut.
notazzjoni:
(Attr … x1, …, attr_xn) PROĠETT (R1, attr_x1, …, attr_xn)
Nota:
Valuri duplikati huma impliċitament jitneħħew!
Aktar Noti:
Fi espressjoni alġebrin ma ‘sensiela ta’ proġetti għandna żewġ affarijiet għaddej – ristrutturar u ri-jestendi !! Ma ‘ċerti manipulazzjonijiet algebra wieħed jista jingħelbu dawn ir-restrizzjonijiet.
kommuttativa (b’mod ġenerali) Nru assoċjattiva (b’mod ġenerali) Nru
sett minimu ta ‘operaturi
Dan jista ‘jintwera li subsett ta’ l-operaturi ippreżentati (speċifikament il tagħżel, proġett, unjoni, differenza u prodott) huma adegwati, jew kompleta, li jiddeskrivu l-operaturi l-oħra (per eżempju jissieħbu, intersezzjoni eċċ).
L-użu esklussiv ta ‘operaturi mis-sett komplut jagħmlu qari xi espressjonijiet alġebrajiċi naturali estremament soda!
Per eżempju, l-operatur intersezzjoni għandu din il-formola:
INTERSECTION (R1, R2)
huwa ekwivalenti għal DIFF (UNJONI (R1, R2), UNION (DIFF (R1, R2), (DIFF (R2, R1)))
jew ekwivalenti għal
DIFF (R1, DIFF (R1, R2))
Għaliex alġebra?
lingwa sempliċi
stabbilit għal aċċess f’ħin
ħoss semantikament
jesprimi l-istess mistoqsijiet li relazzjonali lingwa oħra mudell ibbażat tiddeskrivi
(Jiġifieri l-kalkulu relazzjonali ‘dikjarazzjoni)
proċedurali
optimisable
Mistoqsija (wieħed) â € “”Kumpannija
Irkuprata allura isem u l-indirizz tal-impjegati kollha li jaħdmu għall–â € ~Researchâ € ™ dipartiment.
research_dept: = dname agħżel = â € ™ Researcgâ € ™ (dipartiment);
research_dept_emps: = agħżel dnumber = DNO (impjegat prodott research_dept);
algl1: = fname proġett, lname, indirizz (research_dept_emps);
Mistoqsija (tnejn) â € “”Kumpannija
Għal kull proġett li jinsab fl-â € ~Staffordâ € ™, lista in-numru tal-Proġett, in-numru dipartiment kontroll, U l-managerâ dipartiment € ™ s isem l-aħħar, l-indirizz, u birthdate.
Stafford-_projs: = plocation agħżel = â € ™ Staffordâ € ™ (proġetti);
Contr_dept: = agħżel dnum-dnumber (prodott dipartiment Stafford_projs);
proj_dept_mgr: = agħżel mgrssn = SSN (impjegat prodott contr_dept);
alg2: = proġett pnumber, dnum, lname, l-indirizz, bdate (proj_dept_mgr);
Mistoqsija (tlieta) â € “”Kumpannija
Sib l-ismijiet ta ‘impjegati li jaħdmu fuq il-proġetti kollha kkontrollati minn dipartiment numru 5.
Dept5_projs (PNO): = pnumber proġett (agħżel dnum = 5 (proġetti)); emp_proj (SSN, PNO): = ESSN proġett, PNO (works_on); emp_proj_ssns: = SSN proġett (emp_proj); % Possibbiltajiet kollha ta ‘impjegati li jaħdmu fuq proġetti dept5. Poss_emps_dept5: = (dept5_projs emp_proj_ssns prodott); /% Impjegati li Donà € ™ s xogħol fuq il-proġetti kollha dept5 .. emps_not_dept5: = SSN proġett (poss_emps_dept5 differenza emp_proj); result_emp_ssns: = emp SSNs proj differenza emps_not_dept5; alg3: = proġett lname, fname (result_emp_ssns njoin impjegat);
Mistoqsija (erbgħa) â € “”Kumpannija
Agħmel lista ta ‘numri ta’ proġetti għal proġetti li jinvolvu impjegat li ismu aħħar huwa â € ~Smithâ € ™, Jew bħala ħaddiem jew bħala maniġer tad-Dipartiment li jikkontrolla l-proġett.
Smiths (ESSN): = SSN proġett (agħżel lname = â € ~Smithâ € ™ (impjegat));
smith_worker_projs: = PNO proġett (works_on njoin Smiths);
mgrs: = lname proġett, dnumber (agħżel SSN = mgrssn (prodott dipartiment impjegat));
smith_mgrs: = selecy lname = â € ™ Smithâ € ™ (mgrs);
smith_managed_depts (dnum): = dnumber proġett (smith_mgrs);
smith_mgr_projs (PNO): = pmumber proġett (smith_managed_depts njoin proġetti);
alg3: = smith_worker_projs smith_mgr_projs unjoni;
Mistoqsija (ħames) â € “”Kumpannija
Elenkati l-ismijiet tal-impjegati kollha b’żewġ dipendenti jew aktar.
% Agħmel żewġ kopji ta ‘l-impjegati bil dipendenti.
Empdep1 (ESSN, depname1): = ESSN proġett, dependent_name (dipendenti);
empdep2 (essn2, depname2): = empdep1;
& Impjegati b’aktar minn wieħed dipendenti.
Emps_gtone_dep (SSN): = essn1 proġett (agħżel (ESSN = essn2) u (depname1 <> depname2) (empdep1 prodott empdep2));
alg5: = lname proġett, fname (impjegat njoin emps) gtone_dep);
Mistoqsija (sitta) – Kumpannija
Irkuprata l-ismijiet ta ‘impjegati li jkollhom mingħajr dipendenti.
All_emps: = SSN proġett (impjegat); Emps_with_deps (SSN): = ESSN proġett (dipendenti); Emps_without_deps: = (all_emps
emps_with_deps Differenza); Alg6: = lname proġett, fname
(Emps_without_deps njoin impjegat);
Mistoqsija (sebgħa) â € “”Kumpannija
Telenka l-ismijiet tal-maniġers li għandhom mill-inqas dipendent wieħed.
Mgrssn (SSN): = mgrssn proġett (dipartiment); Emps_with_deps (SSN): = ESSN proġett (dipendenti); Mgrs_with_deps: = (mgrssn jiltaqgħu emps_with_deps); Alg7: = lname proġett, fname
(Mgrs_with_deps njoin impjegat);

“——————————————————————————————————————————————————

Ondersteuning vertaling: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
relasionele Algebra
Wat is ‘n Algebra?
algebra (al-jou-BRE) naamwoord
Wiskunde
1 ‘n veralgemening van rekenkunde waarin simbole, gewoonlik letters van die alfabet, verteenwoordig getalle of lede van ‘n spesifieke stel van getalle en hou verband met bedrywighede wat hou vir alle getalle in die reeks.
2 A stel saam met bedrywighede omskryf in die reeks wat gespesifiseerde wette te gehoorsaam.
3 Word bekendgestel deur Arabiese wiskundige al-Khwarizmi (omstreeks 900 nC) en het meer as in Latyns deur Robert van Chester in 1145.

[Middel-Engels, been-omgewing en Italiaans, algebra, albei van Middeleeuse Latyns, van Arabiese al-jabr, die (wetenskap) hereniging. Al, die + jabr, hereniging, been-omgewing]
Algebraïese taal is algemeen in die rekenaar: Boole algebra vir logiese hekke; en Relational algebra vir databasis DML.
Basiese bestanddele van ‘n algebra is ‘n stel (dit wil sê operand) en bedrywighede (dit wil sê operateurs) wat reageer op al die elemente van die stel.
Operateur eienskappe (byvoorbeeld, oorweeg ‘n heelgetal te stel en die toevoeging werking) sluit in: Optel is kommutatiewe oor die heelgetalle sedert 3 + 4 = 4 + 3 (plus (3,4) == plus (4,3)); en Optel gesê assosiatiewe oor die heelgetalle sedert wees + 3 (4 + 5) = (3 + 4) + 5 (plus (3, plus (4,5)) == plus (plus (3,4), 5 ))).
Kenmerke van die Rel. algebra
Dit manipuleer hele verhoudings deur ‘n
semanties unambigous stel bedrywighede (Ed
Codd 1970).

stelle Die relasionele algebra se die verhouding se
uitbreiding (tuples, rye) en die operateurs het
óf ‘n stel teoretiese oorsprong of verhouding georiënteerde
guns.

‘N relasionele algebraïese uitdrukking het as insette een
(Unêre), of twee (binêre), verhoudings en soms ‘n
seleksie toestand.
Terwyl uitset ‘n uitdrukking is ‘n enkele verhouding.

Ander kenmerke:

operateurs die algebra se werk op al tuples die verhouding se;

die algebra het ‘n prosedure computational
model;

Maar dit is nie “”Turing volledige””, kan ‘n mens skryf ‘
Pascal-program wat verhoudings manipuleer vir
waarvoor daar geen algebraïese ekwivalent.

‘n seleksie toestand moet geëvalueer word teen
elke tuple onafhanklik;

die opbrengs van ‘n algebraïese werking is ‘n
aanvaarbare insette om ‘n gevolglike algebraïese
uitdrukking – dit staan bekend as uitdrukking
samestelling.

Operateurs: Unie (binêre)
Wat van die tik van ‘n relasionele algebraïese uitdrukking en die gevolglike verhouding?
“”Unie”” VERENIGBAARHEID (UC) van TWEE verhoudings vir ‘n binêre uitdrukking, die twee deelnemende verhoudings (operande – R1 en R2) moet die volgende strukturele beperkinge vir die uitdrukking tipe korrek wees: 1) beide verhoudings het dieselfde graad ( dws N); & 2) vir elke kenmerk (1 <= i <= N), die domein (R1.Attr_i) = domein (R2.Attr_i). Die datatipe van ‘n uitdrukking indien die twee verhoudings is in u.c. Dan die verhouding skedule van die gevolglike is arbitrêre verkies om dié van die eerste operand. Anders … (operand spesifieke – bv produk operateur) Semantiek: Die gevolglike verhouding het al die tuple teenwoordig is in óf die eerste, die tweede of albei operande.
Tik:
Die tipe van die gevolglike verhouding skedule is dat van die eerste operand indien beide operand verhoudings in u.c.
notasie:
R1 U R2 UNION (R1, R2)
kommutatiewe JA assosiatiewe JA
Operateurs: Verskil (binêre)
semantiek:
Die gevolglike verhouding sluit al die talle van die eerste operand wat nie teenwoordig is in die tweede operand is.
Tik:
Die tipe van die gevolglike verhouding skedule is dat van die eerste operand indien beide operand verhoudings in u.c.
notasie:
R1 – R2 EWENAAR (R1, R2)
kommutatiewe GEEN assosiatiewe GEEN
Operateurs: Seleksie (unêre)
semantiek:
Skep ‘n nuwe verhouding met die wen van die operand al tuples dat die seleksie voorwaardes voldoen.
Tuples:
Die tipe van die gevolglike verhouding skedule is gelykstaande aan skedule die operand se.
‘N Seleksie toestand het die volgende vorm:
Kenmerk naam Vergelyking op. Konstante waarde of Kenmerk naam Vergelyking op. Kenmerk naam
‘N Reeks Seleksie voorwaardes kan gekombineer word as in die kies CONDITION1 en kies CONDITION2 of kies CONDITION1 of kies CONDITION2
Sommige tipiese vergelyking operateurs vir bestel domeine sluit>, <, ==,! =, Ens
notasie:
(Kies toestand) R1 Select (R1, seleksie toestand)
Nota:
Die gevolglike is ‘n subset van die operand!

kommutatiewe JA assosiatiewe JA
Relasionele Algebra: Operateurs: Produk (binêre)
semantiek:
Skep ‘n nuwe verhouding met die uitvoering van ‘n Cartesiese produk
van die twee operande.
(As die cardinalities van R1 en R2 is 60000 en 500
onderskeidelik, kardinaliteit hul produk is 60000 * 500 =
3000000!)

Tik:
Die operande kan enige verband skema het. Die gevolglike verhouding skedule is gelykstaande aan die aaneenskakeling van die operand se verhouding skedule.
notasie:
Dit is ‘n uiters bestryk duur
werking!
Ook die gevolglike uitbreiding is gewoonlik nie sinvol !!

kommutatiewe Ja
assosiatiewe Ja

Operateurs: Projeksie (unêre)
semantiek:
Skep ‘n nuwe verhouding met die verwydering van die operand al die eienskappe (en gevolglik hul waardes) wat nie in die projeksie uitdrukking genoem.
Tik:
Die tipe van die gevolglike skedule is gelykstaande aan skedule die operand se maar met uitsluiting van eienskappe wat nie in die kenmerk lys genoem.
notasie:
(Attr … x1, …, attr_xn) PROJEK (R1, attr_x1, …, attr_xn)
Nota:
Dubbele waardes implisiet verwyder!
Verdere Notes:
In ‘n algebraïese uitdrukking met ‘n string van projekte het ons twee dinge aan die gang – herstrukturering en re-uitbreiding !! Met sekere algebraïese bewerkings kan ‘n mens hierdie beperkings te oorkom.
kommutatiewe (in die algemeen) Geen assosiatiewe (in die algemeen) Geen
Minimale stel operateurs
Dit kan aangetoon word dat ‘n subset van die aangebied operateurs (spesifiek die kies, projek, unie, verskil en produk) is voldoende, of ‘n volledige, om die ander operateurs beskryf (byvoorbeeld aan te sluit, kruising, ens).
Die uitsluitlike gebruik van operateurs uit die volledige stel maak die lees van ‘n paar natuurlike algebraïese uitdrukkings uiters onwrikbaar!
Byvoorbeeld, die kruising operateur het hierdie vorm:
KRUISING (R1, R2)
is gelykstaande aan EWENAAR (UNION (R1, R2), UNION (verskil (R1, R2), (verskil (R2, R1)))
of gelykstaande aan
EWENAAR (R1 Diff (R1, R2))
Hoekom ‘n algebra?
‘n eenvoudige taal
stel op ‘n tyd toegang
semanties klank
spreek dieselfde navrae dat ‘n ander relasionele model gebaseer taal beskryf
(Dit wil sê die verklarende relasionele analise)
prosedurele
Picasa besig
Navraag (een) â € “”Maatskappy
Haal dan noem en adres van alle werknemers wat vir die â € ~Researchâ € ™ departement werk.
research_dept: = Kies dname = a € ™ Researcgâ € ™ (departement);
research_dept_emps: = Kies d Getal = dno (research_dept produk werknemer);
algl1: = projek fname, lname, adres (research_dept_emps);
Navraag (twee) â € “”Maatskappy
Vir elke projek geleë in â € ~Staffordâ € ™, lys die projek nommer, die beheer van die departement nommer, en die Departement Manager € ™ s laaste naam, adres en geboortedatum.
Stafford-_projs: = Kies plocation = a € ™ Staffordâ € ™ (projekte);
Contr_dept: = Kies dnum-d Getal (Stafford_projs produk departement);
proj_dept_mgr: = Kies mgrssn = SSN (contr_dept produk werknemer);
alg2: = projek pnumber, dnum, lname, adres, bdate (proj_dept_mgr);
Navraag (drie) â € “”Maatskappy
Vind die name van mense wat op al die projekte deur Departement nommer 5 te werk.
Dept5_projs (pno): = projek pnumber (kies dnum = 5 (projekte)); emp_proj (SSN, pno): = projek essn, pno (works_on); emp_proj_ssns: = projek SSN (emp_proj); % Alle moontlikhede van werknemers op dept5 projekte. Poss_emps_dept5: = (dept5_projs produk emp_proj_ssns); /% Werknemers wat € ™ s werk dona op al dept5 projekte .. emps_not_dept5: = projek SSN (poss_emps_dept5 verskil emp_proj); result_emp_ssns: = OBP PROJ ssns verskil emps_not_dept5; alg3: = projek lname, fname (result_emp_ssns njoin werknemer);
Navraag (vier) â € “”Maatskappy
Maak ‘n lys van projek nommers vir projekte wat ‘n werknemer wie se laaste naam is â € ~Smithâ € ™ Betrek, óf as ‘n werker of as ‘n bestuurder van die Departement wat die projek beheer.
Smiths (essn): = projek SSN (kies lname = â € ~Smithâ € ™ (werknemer));
smith_worker_projs: = projek pno (works_on njoin slotmakers);
Mgrs: = projek lname, d Getal (kies SSN = mgrssn (werknemer produk departement));
smith_mgrs: = selecy lname = a € ™ Smithâ € ™ (Mgrs);
smith_managed_depts (dnum): = projek d Getal (smith_mgrs);
smith_mgr_projs (pno): = projek pmumber (smith_managed_depts njoin projekte);
alg3: = smith_worker_projs unie smith_mgr_projs;
Navraag (vyf) â € “”Maatskappy
Lys die name van alle werknemers met twee of meer afhanklikes.
% Maak twee afskrifte van werknemers met afhanklikes.
Empdep1 (essn, depname1): = projek essn, dependent_name (afhanklike);
empdep2 (essn2, depname2): = empdep1;
& Werknemers met meer as een afhanklike.
Emps_gtone_dep (SSN): = projek essn1 (kies (essn = essn2) en (depname1 <> depname2) (empdep1 produk empdep2));
alg5: = projek lname, fname (werknemer njoin OBP) gtone_dep);
Navraag (ses) – Maatskappy
Haal die name van werknemers wat geen afhanklikes.
All_emps: = projek SSN (werknemer); Emps_with_deps (SSN): = projek essn (afhanklike); Emps_without_deps: = (all_emps
Verskil emps_with_deps); Alg6: = projek lname, fname
(Emps_without_deps njoin werknemer);
Navraag (sewe) â € “”Maatskappy
Lys die name van bestuurders wat ten minste een afhanklike.
Mgrssn (SSN): = projek mgrssn (departement); Emps_with_deps (SSN): = projek essn (afhanklike); Mgrs_with_deps: = (mgrssn sny emps_with_deps); Alg7: = projek lname, fname
(Mgrs_with_deps njoin werknemer);

“——————————————————————————————————————————————————

përkthim Support: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
relacionale Algjebra
Çfarë është një Algjebra?
algjebër (al-je-bre) noun
Matematikë
1 Një përgjithësim i aritmetikës në të cilën simbolet, zakonisht shkronjat e alfabetit, paraqesin numra ose anëtarët e një grup të veçantë të numrave dhe janë të lidhura me operacionet që mbajnë për të gjithë numrat në grup.
2 A vendosur së bashku me operacionet e përcaktuara në grup që i binden ligjeve specifike.
3 Word paraqitur nga matematikani Arab al-Kuarizmit (rreth vitit 900 AD) dhe e çoi mbi të në latinisht nga Robert i Chester në 1145.

[Middle English, bone-vendosjen dhe italiane, algjebër, si nga latinishtja mesjetare, nga Arabic al-jabr, (e shkenca e) ribashkimin:. Al, i + Jabr, bashkimin, kockave-vendosjen]
Gjuhët algjebrike janë të zakonshme në informatikë: algjebër Boolean për portat logjike; dhe relacionale algjebër për DML bazës së të dhënave.
Përbërësit bazë të një algjebër janë një grup (dmth operandi) dhe operacionet (dmth operatorët) që veprojnë në të gjitha elementet e vendosur.
pronat e operatorit (për shembull, e konsiderojnë një numër të plotë të vendosur dhe funksionimin shtimin) përfshijnë: Shtim është commutative mbi integers që 3 + 4 = 4 + 3 (plus (3,4) == plus (4,3)); dhe Shtim është thënë të jetë associative mbi integers që 3 + (4 + 5) = (3 + 4) + 5 (plus (3, plus (4,5)) == plus (plus (3,4), 5 ))).
Karakteristikat e Rel. algjebër
Ajo manipulon marrëdhënie të tërë nëpërmjet një
set semantike unambigous i operacioneve (Ed
Codd 1970).

vendos algjebrën relacionale janë lidhja e
extension (tuples, radhë) dhe operatorët kanë
ose një origjine caktuar teorik apo lidhja e orientuar
favor.

Një shprehje e algjebrike ka si inpute një
(Unary), ose dy (binar), marrëdhëniet dhe nganjëherë një
Gjendja e përzgjedhjes.
Ndërsa prodhimi një shprehje është një lidhje e vetme.

Karakteristikat tjera:

Operatorët algjebër të punojnë në të gjitha tuples relacionit së;

algjebër ka kompjuterike procedurale
Model;

Por kjo nuk është “”Turing plotë””, mund të shkruani një
program Pascal që manipulon marrëdhënie për
i cili nuk ka ekuivalent algjebrike.

një kusht përzgjedhje duhet të vlerësohet kundrejt
secili tuple në mënyrë të pavarur;

prodhimi i një operacioni algjebrike është një
input i pranueshëm për një algjebrike konsekuent
shprehja – kjo quhet shprehje
Përbërja.

Operatorët: Union (binary)
Po në lidhje me shtypja e shprehjes relacionale algjebrike dhe marrëdhëniet e saj rezultante?
“”UNION”” PAJTUESHMËRIA (uc) të DY MARRËDHËNIET Për një shprehje binar, dy pjesëmarrës të marrëdhënieve (Operandet – R1 dhe R2) duhet të ketë kufizime strukturore e mëposhtme për shprehje të tipit e saktë: 1) dy raportet kanë të njëjtën shkallë ( dmth n); Dhe 2) për çdo atribut (1 <= i <= n), domain (R1.Attr_i) = domain (R2.Attr_i). TË DHËNAT LLOJI I NJË Expression nëse të dy raportet janë në u.c. PASTAJ lidhja skema e rezultues është arbitrare zgjedhur të jetë ajo e operandit parë. ELSE … (operandi specifike – psh operator produkt) Semantika: Lidhja rezultante ka të gjitha tuple të pranishëm në të parë, të dytë ose dy operandëve.
Typing:
Lloji i skemës rezultate relacionit është ai i operandit të parë nëse të dy marrëdhëniet operand janë në u.c.
simbol:
R1 U R2 UNION (R1, R2)
commutative YES YES associative
Operatorët: Diferenca (binary)
semantika:
Lidhja rezultante përfshin të gjitha tuples e operandit parë që nuk janë të pranishme në operandit dytë.
Typing:
Lloji i skemës rezultate relacionit është ai i operandit të parë nëse të dy marrëdhëniet operand janë në u.c.
simbol:
R1 – R2 DIFF (R1, R2)
NO NO commutative associative
Operatorët: Përzgjedhja (unary)
semantika:
Krijo një marrëdhënie të re me nxjerrjen nga operandit gjitha tuples që përmbushin kushtet e përzgjedhjes.
tuples:
Lloji i skemës rezultante relacionit është e barabartë me skemën operandit së.
Një kusht i përzgjedhjes ka formën e mëposhtme:
Atribut të përmendur op Krahasimi. vlera konstante ose atribut emrin Krahasimi op. atribut emrin
Një seri e kushteve të përzgjedhjes mund të kombinohen si në të zgjedhur condition1 dhe zgjidhni condition2 ose zgjidhni condition1 ose zgjidhni condition2
Disa operatorë tipike krahasim për fusha të porositura përfshijnë>, <, ==,! =, Etj
simbol:
(Zgjidhni kusht) R1 SELECT (R1, gjendja përzgjedhje)
Shënim:
Rezultante është një mesin e operandit!

commutative YES YES associative
Relacionale Algjebra: Operatorët: Product (binary)
semantika:
Krijo një marrëdhënie të re me ekzekutimin e një produkt Kartezian
e dy operandëve.
(Nëse cardinalities të R1 dhe R2 janë të 60000 dhe 500
respektivisht, cardinality produkti i tyre është 60000 * 500 =
3,000,000!)

Typing:
Të operandët mund të ketë ndonjë skemë relacion. Rezultante Lidhja Skema është e barabartë me varg të relacionit skemes operandit së.
simbol:
Kjo është një shumë e shtrenjtë computationally
operacion!
Gjithashtu, zgjerimi rezultante nuk është zakonisht kuptim !!

commutative Po
associative Po

Operatorët: Projektim (unary)
semantika:
Krijo një marrëdhënie të re duke hequr nga operandit të gjitha atributet (dhe rrjedhimisht vlerat e tyre) që nuk janë përmendur në shprehjen e projektimit.
Typing:
Lloji i skemës rezultante është e barabartë me skemën operandit së, por duke përjashtuar atribute që nuk janë përmendur në listën atribut.
simbol:
(Attr … x1, …, attr_xn) PROJECT (R1, attr_x1, …, attr_xn)
Shënim:
Vlerat kopjuar janë hequr në mënyrë implicite!
Shënime të tjera:
Në një shprehje algjebrike me një varg të projekteve të kemi dy gjëra në vazhdim e sipër – Ristrukturimi dhe ri-zgjeruar !! Me manipulime të caktuara algjebrike mund të kapërcyer këto kufizime.
commutative (në përgjithësi) Nuk associative (në përgjithësi) No
set minimal të operatorëve
Ajo mund të tregohet se një mesin e operatorëve të paraqitura (veçanërisht të zgjedhur, të projektit, të sindikatave, ndryshim dhe produktit) janë të përshtatshme, ose të plotë, për të përshkruar operatorët e tjerë (për shembull të bashkohen, kryqëzimin etj).
Përdorimi ekskluziv i operatorëve nga seri të plotë të bëjë leximin e disa shprehjeve algjebrike natyrore tejet të palëkundur!
Për shembull, operatori kryqëzimin e ka këtë formë:
Kryqëzimi (R1, R2)
është e barabartë me diff (UNION (R1, R2), BASHKIMIT (Diff (R1, R2), (Diff (R2, R1)))
ose ekuivalente me
DIFF (R1, Diff (R1, R2))
Pse një algjebër?
një gjuhë të thjeshtë
vendosur në një qasje kohë
sound semantike
shpreh të njëjtat pyetje që një gjuhë tjetër relacionale model i bazuar përshkruan
(Dmth gur deklarative relacionale)
procedurale
optimisable
Query (një) â € “”Company
Retrieve pastaj emrin dhe adresën e të gjithë të punësuarit të cilët punojnë për â € ~Researchâ € ™ departamentit.
research_dept: = zgjidhni dname = â € ™ Researcgâ € ™ (departamenti);
research_dept_emps: = zgjidhni DNUMER = DNO (punonjësve research_dept produktit);
algl1: = EMRI projektit, MBIEMRI, adresa (research_dept_emps);
Query (dy) â € “”Company
Për çdo projekt të vendosur në â € ~Staffordâ € ™, lista numrin e projektit, numri kontrollues departamentit, dhe Departamenti i managerâ € ™ s fundit emri, adresa, dhe ditelindjen.
Stafford-_projs: = zgjidhni plocation = â € ™ Staffordâ € ™ (projekte);
Contr_dept: = select dnum-DNUMER (departamenti Stafford_projs produktit);
proj_dept_mgr: = zgjidhni mgrssn = SSN (punonjës contr_dept produktit);
alg2: = Projekti PNUMER, dnum, MBIEMRI, adresa, bdate (proj_dept_mgr);
Query (tre) â € “”Company
Gjeni emrat e të punësuarve të cilët punojnë në të gjitha projektet e kontrolluara nga numri departamenti 5.
Dept5_projs (Pno): = PNUMER projektit (të zgjedhur dnum = 5 (projekte)); emp_proj (SSN, Pno): = PID projektit, Pno (PUNON_NE); emp_proj_ssns: = SSN projektit (emp_proj); % Të gjitha mundësitë e punonjësve që punojnë në projekte dept5. Poss_emps_dept5: = (dept5_projs emp_proj_ssns produktit); /% Punonjës se dona € ™ s punën në të gjitha projektet dept5 .. emps_not_dept5: = SSN projektit (poss_emps_dept5 diferenca emp_proj); result_emp_ssns: = emp SSNs PROJ Dallimi emps_not_dept5; alg3: = Projekti MBIEMRI, EMRI (result_emp_ssns njoin punonjës);
Query (katër) â € “”Company
Bëni një listë të numrave të projektit për projektet që përfshijnë një punonjës mbiemri i të cilit është â € ~Smithâ € ™, Ose si një punëtor ose si menaxher i Departamentit që kontrollon projektin.
Smiths (PID): = SSN projektit (të zgjedhur MBIEMRI = â € ~Smithâ € ™ (i punësuar));
smith_worker_projs: = Pno projektit (PUNON_NE njoin farkëtarët);
mgrs: = MBIEMRI projektit, DNUMER (zgjidhni SSN = mgrssn (departamenti produkt i punësuar));
smith_mgrs: = selecy MBIEMRI = â € ™ Smithâ € ™ (mgrs);
smith_managed_depts (dnum): = Projekti DNUMER (smith_mgrs);
smith_mgr_projs (Pno): = Projekti pmumber (smith_managed_depts njoin projekteve);
alg3: = smith_worker_projs smith_mgr_projs sindikatave;
Query (pesë) â € “”Company
Listoni emrat e të gjithë të punësuarve me dy ose më shumë të varur.
% Bëni dy kopje të të punësuarve me vartësit.
Empdep1 (PID, depname1): = PID projektit, VARTES_EMER (i varur);
empdep2 (essn2, depname2): = empdep1;
& Punonjësit me më shumë se një të varur.
Emps_gtone_dep (SSN): = essn1 projektit (perzgjidhni (PID = essn2) dhe (depname1 <> depname2) (empdep1 produkt empdep2));
alg5: = MBIEMRI projektit, EMRI (punonjës njoin PMM) gtone_dep);
Query (gjashtë) – Kompania
Retrieve emrat e punonjësve që nuk kanë në ngarkim.
All_emps: = SSN projektit (punonjës); Emps_with_deps (SSN): = PID projektit (i varur); Emps_without_deps: = (all_emps
emps_with_deps Diferenca); Alg6: = MBIEMRI projektit, EMRI
(Emps_without_deps njoin punonjës);
Query (shtatë) â € “”Company
Listoni emrat e drejtuesve të cilët kanë të paktën një të varur.
Mgrssn (SSN): = Projekti mgrssn (departamenti); Emps_with_deps (SSN): = PID projektit (i varur); Mgrs_with_deps: = (mgrssn ndërpritet emps_with_deps); Alg7: = MBIEMRI projektit, EMRI
(Mgrs_with_deps njoin punonjës);

“——————————————————————————————————————————————————

ድጋፍ ትርጉም: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
ግንኙነት አልጀብራ
አንድ አልጀብራ ምንድን ነው?
አልጀብራ (አሌ-ኢዮሳፍጥ-bre) ተውላጠ ስም
የሒሳብ ትምህርት
ምልክቶች, ፊደል አብዛኛውን ጊዜ ፊደሎችን, ቁጥሮችን ወይም ቁጥሮች አንድ የተወሰነ ስብስብ አባላት የሚወክሉ እና ስብስብ ውስጥ ሁሉም ቁጥሮች መያዝ ቀዶ በማድረግ ጋር የተያያዙ ናቸው ውስጥ አርቲሜቲክ 1 አንድ ከምትታየው.
2 አንድ የተወሰነ ሕጎች መታዘዝ መሆኑን ስብስብ ውስጥ የተገለጹ ሥራዎች ጋር አብረው ይሆናሉ.
አረብ የሒሳብ አሌ-የቶሌሚን (ተፈጠረ 900 ዓ.ም) ካመጧቸው እና 1145 ላይ የቼስተር ሮበርት ወደ ላቲን ላይ አመጣ 3 ቃል.

[መካከለኛ እንግሊዝኛ, ከ የመካከለኛው ዘመን የላቲን, ሁለቱም አጥንት-ቅንብር እና ጣሊያንኛ, አልጄብራ, በአረብኛ አል-ጀብር, የ (ክፍል ሳይንስ) ማገናኘትን:. አሌ, የ + ጀብር, ከቤተሰቦቻቸው, አጥንት-ቅንብር]
A ልጀብራ ቋንቋዎች ማስላት ውስጥ የተለመዱ ናቸው: አመክንዮ በሮች ቡሊያን አልጀብራ; ጎታ DML እና ትስስርን አልጀብራ.
አንድ አልጀብራ መሰረታዊ ንጥረ ነገሮች ስብስብ (ማለትም ተከዋኝ) እና ስብስብ በሁሉም ክፍሎች ላይ እርምጃ እንደሆነ ቀዶ (ማለትም ከዋኞችን) ናቸው.
ከዋኝ ባህሪያት ያካትታሉ (ለምሳሌ, አንድ ኢንቲጀር ለማዘጋጀት እና በተጨማሪ ክወና እንመልከት): በተጨማሪ ወደ ኢንቲጀሮች ላይ commutative ስለሆነ 3 + 4 = 4; + 3 (ሲደመር (3,4) == ፕላስ (4,3)); እና በተጨማሪ ጀምሮ ኢንቲጀሮች ላይ associative ሊባል ነው 3; + (4; + 5) = (3 + 4) + 5 (ፕላስ (3, እና (4,5)) == ፕላስ (ሲደመር (3,4), 5 ))).
የ rel ባህሪያት. አልጀብራ
ይህ በኩል መላው ግንኙነት የሚያጠምደው
ስራዎች አቀነባበርና unambigous ስብስብ (Ed
Codd 1970).

በ ግንኙነት አልጀብራ የአምላክ ስብስቦች ዝምድና የሆኑት ናቸው;
ቅጥያ (tuples, ረድፎች) እና አንቀሳቃሾች አላቸው
ወይ አንድ ማዘጋጀት theoretic አመጣጥ ወይም ግንኙነት ላይ የሚያተኩሩ
ሞገስ.

አንድ ግንኙነት በአልጀብራዊ መግለጫ ግብዓቶች እንደ አንድ አለው
(Unary) ወይም ሁለት (ሁለትዮሽ), ግንኙነት እና አንዳንድ ጊዜ
ምርጫ ሁኔታ.
መግለጫ የአምላክ ውፅዓት ነጠላ ግንኙነት ቢሆንም.

ሌሎች ባህሪያት:

በ A ልጀብራ የአምላክ ኦፕሬተሮች ዝምድና የአምላክ tuples ሁሉ ላይ ይሰራሉ;

በ A ልጀብራ የ ሥርዓታዊ ኮምፒውቲሽናል አለው
ሞዴል;

ነገር ግን “”Turing ሙሉ”” አይደለም, አንድ ሰው መጻፍ ይችላል
ለ ግንኙነት የሚያጠምደው መሆኑን ፓስካል ፕሮግራም
ማንም በአልጀብራዊ አቻ የለም.

አንድ ምርጫ ሁኔታ ላይ መገምገም አለበት
እያንዳንዳቸው በግላቸው tuple;

አንድ በአልጀብራዊ የክወና ውፅዓት ነው አንድ
አንድ ያስከተለውን በአልጀብራዊ ዘንድ ተቀባይነት ግቤት
መግለጫ – ይህ ይባላል መግለጫ
ጥንቅር.

ኦፕሬተሮች: ህብረት (ሁለትዮሽ)
ምን ትስስርን A ልጀብራ መግለጫ መተየብ እና የሚፈጠረውን ግንኙነት ምን ማለት ይቻላል?
1) ሁለቱም ግንኙነት ተመሳሳይ ዲግሪ አላቸው (: – አንድ የሁለትዮሽ አገላለጽ ሁለት ግንኙነት “”አንድነት”” ተኳኋኝነት (ዩሲ), ሁለቱ ተሳታፊ ግንኙነት (operands R1 እና R2) የሚለውን አገላለጽ አይነት ትክክል መሆን የሚከተሉትን መዋቅራዊ E ንቅፋቶች ሊኖረው ይገባል ማለትም n); & 2) ለእያንዳንዱ አይነታ (ለ 1 <= i = n), ጎራ (R1.Attr_i) = ጎራ (R2.Attr_i) <. ሁለት ግንኙነት u.c. ውስጥ አንድ መግለጫ የአምላክ ውሂብ ዓይነት ከሆንክ ከዚያም የሚፈጠረውን መካከል ያለውን ግንኙነት ንድፍ በመጀመሪያው ተከዋኝ ያንን መሆን የተመረጠ የዘፈቀደ ነው. የተቀሩ … (ተከዋኝ የተወሰነ – ለምሳሌ የምርት ከዋኝ) ፍቺ: መጽሐፍ የሚፈጠረውን ግንኙነት, የመጀመሪያው በሁለተኛው ወይም በሁለቱም operands ወይ ውስጥ በአሁኑ ሁሉ tuple አለው.
ትየባ:
የሚፈጠረውን ግንኙነት ንድፍ አይነት የመጀመሪያ ተከዋኝ ሁለቱም ተከዋኝ ግንኙነት u.c. ውስጥ ከሆነ ነው
በመወሰኑ:
R1 U R2 ሕብረት (R1, R2)
commutative አዎ associative አዎ
ኦፕሬተሮች: ያለው ልዩነት (ሁለትዮሽ)
የቃላት ትርጉም:
የሚፈጠረውን ግንኙነት ሁለተኛ ተከዋኝ ውስጥ በሌሉበት ለመጀመሪያ ተከዋኝ ሁሉ tuples ያካትታል.
ትየባ:
የሚፈጠረውን ግንኙነት ንድፍ አይነት የመጀመሪያ ተከዋኝ ሁለቱም ተከዋኝ ግንኙነት u.c. ውስጥ ከሆነ ነው
በመወሰኑ:
R1 – R2 DIFF (R1, R2)
commutative የለም associative አይ
ኦፕሬተሮች: ምርጫ (unary)
የቃላት ትርጉም:
ወደ ተከዋኝ ከ ምርጫ ሁኔታዎች የሚያሟሉ ሁሉ tuples ማውጣት በማድረግ አዲስ ግንኙነት ይፍጠሩ.
Tuples:
የሚፈጠረውን ግንኙነት ንድፍ አይነት በ ተከዋኝ ያለው መርሃ ግብር ጋር እኩል ነው.
አንድ የምርጫ ሁኔታ የሚከተለውን ቅጽ አለው:
ንጽጽር OP ስም መሆኑን ይስማማሉ. የማያቋርጥ እሴት ወይም ስም ማወዳደር OP የአይነት. የአይነት ስም
የምርጫ ሁኔታ ተከታታይ ይምረጡ ሁኔታ 1 እና ይምረጡ ሁኔታ 2 ወይም ይምረጡ ሁኔታ 1 ወይም ይምረጡ ሁኔታ 2 እንደ ይጣመራሉ ይችላል
ትእዛዝ ጎራዎች አንዳንድ አይነተኛ ንጽጽር ኦፕሬተሮች>, <, ==! =, ወዘተ ያካትታል
በመወሰኑ:
(ይምረጡ ሁኔታ) R1 ይምረጡ (R1, ምርጫ ሁኔታ)
ማስታወሻ:
በማያያዝም በ ተከዋኝ አንድ ስብስብ ታህታይ ስብስብ ነው!

commutative አዎ associative አዎ
ግንኙነት አልጀብራ: ኦፕሬተሮች: ምርት (ሁለትዮሽ)
የቃላት ትርጉም:
አንድ ካርቴዥያዊ ከመፈጸሙ በማድረግ አዲስ ግንኙነት ይፍጠሩ
ሁለት operands ነው.
(R1 እና R2 ላይ የሚበልጡበት 60000 እና 500 ናቸው ከሆነ
በቅደም ተከተል, ያላቸውን ምርት የቁጥሮች 60000 * 500 = ነው
3,000,000!)

ትየባ:
የ operands ማንኛውም ዝምድና ንድፍ ሊኖረው ይችላል. የሚፈጠረውን ግንኙነት ንድፍ ወደ ተከዋኝ ጋር ያለው ዝምድና ብያኔ ላይ ማጣመርን ጋር እኩል ነው.
በመወሰኑ:
ይህ በጣም computationally ውድ ነው
ክወና!
በተጨማሪም, የሚፈጠረውን ቅጥያ ብዙውን ጊዜ ትርጉም ያለው አይደለም !!

commutative አዎ
associative አዎ

ኦፕሬተሮች: የፕሮጀክሽን (unary)
የቃላት ትርጉም:
የ ተከዋኝ በማስወገድ ላይ በማድረግ አዲስ ግንኙነት ለመፍጠር ትንበያ ሐረግ ውስጥ የተጠቀሱትን አይደሉም ሁሉ የባህርይ (እና በዚህም ያላቸውን እሴቶች).
ትየባ:
የሚፈጠረውን ንድፍ አይነት በ ተከዋኝ ያለው ንድፍ ግን አይነታ ዝርዝር ውስጥ አልተጠቀሰም ባሕርያት ሳይጨምር ጋር እኩል ነው.
በመወሰኑ:
(ATTR … X1, …, attr_xn) ፕሮጀክት (R1, attr_x1, …, attr_xn)
ማስታወሻ:
የተባዙ እሴቶች ሙሉ በሙሉ ተወግዷል ነው!
ተጨማሪ ማስታወሻዎች:
ፕሮጀክቶች ሕብረቁምፊ ጋር A ልጀብራ መግለጫ ውስጥ ሁለት ነገሮች ላይ በመሄድ አለኝ – በመዋቅር እና ዳግም ላሉ !! አንዳንድ በአልጀብራዊ manipulations ጋር አንድ ሰው እነዚህ ገደቦች ማሸነፍ እንችላለን.
አይ (በጥቅሉ) ምንም associative (በአጠቃላይ) commutative
የተሰማራው አነስተኛ ስብስብ
ይህ የቀረበው አንቀሳቃሾች (በተለይ ይምረጡ, ፕሮጀክት, አንድነት, ልዩነት እና ምርት) አንድ ታህታይ ስብስብ, በቂ, ወይም ሙሉ ናቸው (ለምሳሌ, እንዲቀላቀሉ ወዘተ መገናኛ) ሌሎች ከዋኞች ለመግለጽ መሆኑን ሊታዩ ይችላሉ.
ሙሉ ስብስብ አንቀሳቃሾች ያላቸው ሰዎች ብቻ መጠቀም እጅግ በጣም ግትሮች አንዳንድ የተፈጥሮ A ልጀብራ A በማንበብ እናደርጋለን!
ለምሳሌ ያህል, መገናኛ ከዋኙ ቅጽ አለው:
መገናኛ (R1, R2)
DIFF (ህብረት (R1, R2), ሕብረት (DIFF (R1, R2), (DIFF (R2, R1))) ጋር እኩል ነው
ወይም ተመጣጣኝ
DIFF (R1, DIFF (R1, R2))
ለምንድን ነው አንድ አልጀብራ?
ቀለል ያለ ቋንቋ
በአንድ ጊዜ መዳረሻ ላይ ተዘጋጅቷል
አቀነባበርና ድምፅ
ሌላ ግንኙነት ሞዴል የተመሠረተ ቋንቋ የሚገልጽ ተመሳሳይ መጠይቆች የሚገልጽ
(ማለትም የ የአዋጅ ግንኙነት ካልኩለስ)
የሥርዓት
optimisable
መጠይቅ (አንድ) â € “”ኩባንያ
ከዚያም ስም እና â € ~Researchâ € ™ መምሪያ የሚሰሩ ሁሉ ሠራተኞችን አድራሻ marked በማለት.
research_dept: = ይምረጡ dname = € ™ Researcgâ € ™ (መምሪያ) â;
research_dept_emps: = ይምረጡ dnumber = dno (research_dept ምርት ተቀጣሪ);
algl1: = ፕሮጀክት fname, lname, አድራሻ (research_dept_emps);
መጠይቅ (ሁለት) â € “”ኩባንያ
â € ~Staffordâ € ™ ውስጥ በሚገኘው እያንዳንዱ ፕሮጀክት ያህል, የፕሮጀክት ቁጥር ወደ መቆጣጠር ክፍል ቁጥር, እና መምሪያው managerâ € ™ s የመጨረሻ ስም, አድራሻ, እና የልደት ቀን ጻፍ.
Stafford-_projs: = ይምረጡ plocation = â € ™ Staffordâ € ™ (ፕሮጀክቶች);
Contr_dept: = ይምረጡ dnum-dnumber (Stafford_projs ምርት ክፍል);
proj_dept_mgr: = ይምረጡ mgrssn = SSN (contr_dept ምርት ተቀጣሪ);
alg2: = ፕሮጀክት pnumber, dnum, lname, አድራሻ, bdate (proj_dept_mgr);
መጠይቅ (ሦስት) â € “”ኩባንያ
መምሪያ ቁጥር 5 ቁጥጥር ሁሉ ፕሮጀክቶች ላይ የሚሰሩ ሰራተኞች ስም ያግኙ.
Dept5_projs (pno): = ፕሮጀክት pnumber () = 5 (ፕሮጀክቶች dnum ይምረጡ); emp_proj (SSN, pno): = ፕሮጀክት essn, pno (works_on); emp_proj_ssns: = ፕሮጀክት SSN (emp_proj); % Dept5 ፕሮጀክቶች ላይ የሚሰሩ ሰራተኞች ሁሉም አማራጮች. ;: Poss_emps_dept5 ሁሉ dept5 ፕሮጀክቶች .. emps_not_dept5 ላይ € ™ s የስራ ካነቁት ዘንድ /% ተቀጣሪዎች = (ምርት emp_proj_ssns dept5_projs): = ፕሮጀክት SSN (poss_emps_dept5 ልዩነት emp_proj); result_emp_ssns: = emp proj ssns ልዩነት emps_not_dept5; alg3: = ፕሮጀክት lname, fname (result_emp_ssns ተቀጣሪ njoin);
መጠይቅ (አራት) â € “”ኩባንያ
አንድ ሠራተኛ እንደ ወይም ፕሮጀክት የሚቆጣጠረው ይህ መምሪያ አስተዳዳሪ ሆነው ወይ, የማን የአባት ስም € ~Smithâ € ™ â ነው ሠራተኛ የሚመለከቱ ዘንድ ፕሮጀክቶች የፕሮጀክት ቁጥሮች ዝርዝር አድርግ.
ጠራቢዎችና (essn): = ፕሮጀክት SSN (= lname ይምረጡ â € ~Smithâ € ™ (ተቀጣሪ));
smith_worker_projs: = ፕሮጀክት pno (works_on njoin ጠራቢዎችና);
mgrs: = ፕሮጀክት lname, dnumber (ይምረጡ SSN = mgrssn (ተቀጣሪ የምርት ክፍል));
smith_mgrs: = selecy lname = € â ™ Smithâ € ™ (mgrs);
smith_managed_depts (dnum): = ፕሮጀክት dnumber (smith_mgrs);
smith_mgr_projs (pno): = ፕሮጀክት pmumber (ፕሮጀክቶች njoin smith_managed_depts);
alg3: = smith_worker_projs ማህበር smith_mgr_projs;
መጠይቅ (አምስት) â € “”ኩባንያ
ሁለት ወይም ከዚያ በላይ የሆኑ ጥገኞች ጋር ሁሉም ሰራተኞች ስም ይዘርዝሩ.
% ጥገኞች ጋር ሠራተኞች መካከል ሁለት ኮፒ ያድርጉ.
Empdep1 (essn, depname1): = ፕሮጀክት essn, dependent_name (ጥገኛ);
empdep2 (essn2, depname2): = empdep1;
ጥገኛ ከአንድ በላይ ጋር & ተቀጣሪዎች.
Emps_gtone_dep (SSN): = ፕሮጀክት essn1 (ይምረጡ (essn = essn2) እና (depname1 <> depname2) (empdep1 ምርት empdep2));
alg5: = ፕሮጀክት lname, fname (emps njoin ተቀጣሪ) gtone_dep);
መጠይቅ (ስድስት) – ኩባንያ
ምንም ጥገኞች ያላቸው ሰራተኞች ስም ሰርስረው.
All_emps: = ፕሮጀክት SSN (ተቀጣሪ); Emps_with_deps (SSN): = ፕሮጀክት essn (ጥገኛ); Emps_without_deps: = (all_emps
ልዩነት emps_with_deps); Alg6: = ፕሮጀክት lname, fname
(Emps_without_deps ተቀጣሪ njoin);
መጠይቅ (ሰባት) â € “”ኩባንያ
ጥገኛ ቢያንስ አንድ ያላቸው የአስተዳዳሪዎች ስም ይዘርዝሩ.
Mgrssn (SSN): = ፕሮጀክት mgrssn (መምሪያ); Emps_with_deps (SSN): = ፕሮጀክት essn (ጥገኛ); Mgrs_with_deps: = (mgrssn emps_with_deps አቋርጠው); Alg7: = ፕሮጀክት lname, fname
(Mgrs_with_deps ተቀጣሪ njoin);

“——————————————————————————————————————————————————

ترجمة الدعم: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
الجبر العلائقي
ما هو الجبر؟
الجبر (سورة جي-الف) إسم
الرياضيات
1 التعميم من الحساب الذي الرموز، عادة الحروف الأبجدية، وتمثل أرقام أو أعضاء مجموعة محددة من الأرقام وترتبط بالعمليات التي تحمل لجميع الأرقام في المجموعة.
2 وهناك مجموعة جنبا إلى جنب مع عمليات محددة في المجموعة التي تطيع قوانين محددة.
3 كلمة قدم من قبل عالم الرياضيات العربي الخوارزمي (حوالي 900 م) والذين تجلبهم إلى اللاتينية روبرت تشستر عام 1145.

[الأوسط الإنجليزية، وضع العظام والإيطالية، والجبر، وكلاهما من القرون الوسطى اللاتينية، من العربية الجبر، و(علم) جمع شمل: القاعدة و، التوحيد، ووضع العظام و+ جبر]
اللغات الجبرية شائعة في الحوسبة: الجبر البولي للبوابات المنطق. والعلائقية الجبر لDML قاعدة البيانات.
المكونات الأساسية من الجبر هي مجموعة (أي المعامل) والعمليات (أي المشغلين) التي تعمل على جميع عناصر المجموعة.
خصائص المشغل (على سبيل المثال، والنظر في عدد صحيح وضع وتشغيل الإضافة) تشمل: إضافة غير تبادلي على الأعداد الصحيحة منذ 3 + 4 = 4 + 3 (بالإضافة إلى (3،4) == بالإضافة إلى (4،3))؛ ويقال إضافة إلى أن تكون النقابي على الأعداد الصحيحة منذ 3 + (4 + 5) = (3 + 4) + (5 زائد (3، بالإضافة إلى (4،5)) == الجمع (الجمع (3،4)، 5 ))).
خصائص أكتيفي. علم الجبر
انها تعالج العلاقات برمتها من خلال
مجموعة unambigous غويا من عمليات (إد
Codd 1970).

مجموعات الجبر العلائقية هي العلاقة ل
تمديد (الصفوف، الصفوف) والمشغلين
إما تحديد أصل النظرية أو علاقة المنحى
محاباة.

تعبير جبري العلائقية ديه كمدخلات واحد
(أحادي) أو اثنين (ثنائي)، والعلاقات وأحيانا
حالة الاختيار.
بينما الانتاج تعبير هو علاقة واحدة.

مميزات وخصائص اخرى:

تعمل شركات الجبر على كل من المجموعات العلاقة؛ و

الجبر لديه الحاسوبية الإجرائي
نموذج؛

ولكنها ليست “”تورينج الكامل””، يمكن للمرء أن إرسال بريد
برنامج باسكال التي تعالج العلاقات ل
وليس هناك ما يعادلها جبري.

شرط اختيار لابد من تقييمها ضد
كل الصفوف (tuple) بشكل مستقل.

إخراج عملية جبري هو
إدخال مقبول ليترتب على ذلك جبري
التعبير – وهذا ما يسمى التعبير
التكوين.

شركات: الاتحاد (ثنائي)
ماذا عن الكتابة للتعبير جبري العلائقية وعلاقته الناتجة؟
“”الاتحاد”” التوافق (جامعة كاليفورنيا) من علاقتين للتعبير ثنائي، وهما المشاركة العلاقات (المعاملات – R1 و R2) يجب أن يكون القيود الهيكلية التالية للتعبير عن أن يكون النوع الصحيح: 1) على حد سواء العلاقات لها نفس الدرجة ( أي ن)؛ و 2) لكل سمة (1 <= ط <= ن)، والمجال (R1.Attr_i) = المجال (R2.Attr_i). نوع البيانات تعبير وإذا كانت العلاقات هما في u.c. بعد ذلك المخطط علاقة الناتجة تعسفي اختار أن يكون ذلك من المعامل الأول. آخر … (المعامل معين – على سبيل المثال مشغل المنتج) علم الدلالة: العلاقة الناتجة لديه كل الصفوف (tuple) الحالية إما في الأولى والثانية أو كليهما المعاملات.
الكتابة:
نوع من مخطط علاقة ينتج عن ذلك أن من المعامل الأول إذا كان كل العلاقات المعامل هي في u.c.
التدوين:
R1 R2 U UNION (R1، R2)
تبادلي YES YES النقابي
مشغلي: الفرق (ثنائي)
دلالات:
وتشمل العلاقة الناتجة جميع الصفوف من المعامل الأول التي ليست موجودة في المعامل الثاني.
الكتابة:
نوع من مخطط علاقة ينتج عن ذلك أن من المعامل الأول إذا كان كل العلاقات المعامل هي في u.c.
التدوين:
R1 – R2 مهرجان دبي السينمائي الدولي (R1، R2)
NO NO تبادلي النقابي
مشغلي: اختيار (أحادي)
دلالات:
إنشاء علاقة جديدة عن طريق استخراج من المعامل جميع الصفوف التي تلبي شروط الاختيار.
الصفوف:
نوع من مخطط العلاقة الناتجة يعادل مخطط المعامل و.
وهناك شرط اختيار لديها شكل التالي:
اسم السمة مقارنة المرجع. قيمة ثابتة أو اسم السمة مقارنة المرجع. اسم السمة
سلسلة من الظروف الاختيار يمكن الجمع كما هو الحال في CONDITION1 حدد وحدد CONDITION2 أو حدد CONDITION1 أو حدد CONDITION2
بعض عوامل المقارنة نموذجية للنطاقات أمر تتضمن>، <، ==،! =، الخ
التدوين:
(اختر حالة) R1 SELECT (R1، شرط اختيار)
ملاحظة:
الناتجة هي مجموعة فرعية من المعامل!

تبادلي YES YES النقابي
الجبر العلائقي: مشغلي: المنتج (ثنائي)
دلالات:
إنشاء علاقة جديدة عن طريق تنفيذ منتج الديكارتي
من المعاملات اثنين.
(إذا كان cardinalities من R1 و R2 هي 60000 و 500
على التوالي، أصل منتجاتها هو 60000 * 500 =
3،000،000!)

الكتابة:
يمكن المعاملات لديها أي مخطط العلاقة. مخطط العلاقة الناتجة يعادل سلسلة من مخطط علاقة المعامل و.
التدوين:
هذا هو غاية غالية حسابيا
عملية!
أيضا، تمديد ينتج عن ذلك عادة لا معنى !!

تبادلي نعم
النقابي نعم

مشغلي: الإسقاط (أحادي)
دلالات:
إنشاء علاقة جديدة عن طريق إزالة من المعامل كل الصفات (وبالتالي قيمهم) التي لم يتم ذكرها في التعبير الإسقاط.
الكتابة:
نوع من مخطط الناتجة يعادل مخطط المعامل ولكن باستثناء سمات لم يرد ذكرها في القائمة السمة.
التدوين:
(ATTR … X1، …، attr_xn) مشروع (R1، attr_x1، …، attr_xn)
ملاحظة:
تتم إزالة القيم المكررة ضمنا!
مزيد من الملاحظات:
في تعبير جبري مع سلسلة من المشاريع لدينا اثنين من طبيعيي – إعادة هيكلة وإعادة تمديد !! مع بعض التلاعب الجبرية يمكن للمرء أن التغلب على هذه القيود.
تبادلي (بشكل عام) لا الترابطية (بشكل عام) لا
مجموعة صغيرة من مشغلي
يمكن إثبات أن مجموعة فرعية من مشغلي عرض (على وجه التحديد حدد، مشروع، الاتحاد، الفرق والمنتج) هي كافية، أو كاملة، لتصف المشغلين الآخرين (على سبيل المثال الانضمام، تقاطع الخ).
الاستخدام الحصري للشركات من مجموعة كاملة في قراءة بعض العبارات الجبرية الطبيعية الذي لا ينضب للغاية!
على سبيل المثال، المشغل تقاطع له هذا النموذج:
تقاطع (R1، R2)
ما يعادل مهرجان دبي السينمائي الدولي (UNION (R1، R2)، الاتحاد (مهرجان دبي السينمائي الدولي (R1، R2)، (مهرجان دبي السينمائي الدولي (R2، R1)))
أو ما يعادل
مهرجان دبي السينمائي الدولي (R1، مهرجان دبي السينمائي الدولي (R1، R2))
لماذا الجبر؟
لغة بسيطة
وضعت في الوصول في الوقت
صوت غويا
عن الاستعلامات نفس تلك اللغة علائقية آخر نموذج يستند يصف
(أي حساب التفاضل والتكامل العلائقية التعريفي)
إجرائي
optimisable
الاستعلام عن (واحد) € “”الشركة
استرجاع ثم اسم وعنوان كل الموظفين الذين يعملون لقسم € ~Researchâ € ™.
research_dept: = حدد dname = â € ™ Researcgâ € ™ (قسم)؛
research_dept_emps: = حدد dnumber = DNO (الموظف المنتج research_dept)؛
algl1: = fname المشروع، lname، عنوان (research_dept_emps)؛
الاستعلام (اثنين) â € “”الشركة
لكل مشروع يقع في â € € ™ ~Staffordâ، بسرد عدد المشاريع، والسيطرة على عدد قسم، وقسم managerâ € ™ ق الماضي الاسم والعنوان، وتاريخ الميلاد.
ستافورد _projs: = حدد plocation = â € ™ Staffordâ € ™ (مشاريع)؛
Contr_dept: = حدد dnum-dnumber (قسم المنتجات Stafford_projs)؛
proj_dept_mgr: = حدد mgrssn = SSN (الموظف المنتج contr_dept)؛
alg2: = مشروع pnumber، dnum، lname، عنوان، bdate (proj_dept_mgr)؛
الاستعلام (ثلاثة) â € “”الشركة
العثور على أسماء الموظفين الذين يعملون في جميع المشروعات التي تسيطر عليها قسم رقم 5.
Dept5_projs (PNO): = مشروع pnumber (اختر dnum = 5 (مشاريع))؛ emp_proj (SSN، PNO): = مشروع essn، PNO (works_on)؛ emp_proj_ssns: = SSN مشروع (emp_proj)؛ ٪ جميع إمكانيات العاملين في مشاريع dept5. Poss_emps_dept5: = (dept5_projs emp_proj_ssns المنتج)؛ /٪ الموظفون أن دونا € ™ ق العمل فى جميع المشروعات dept5 .. emps_not_dept5: = مشروع شبكة الأمان الاجتماعي (poss_emps_dept5 الفرق emp_proj)؛ result_emp_ssns: = خطة الإدارة البيئية أرقام الضمان الاجتماعي مسقطة الفرق emps_not_dept5. alg3: = مشروع lname، fname (result_emp_ssns njoin موظف)؛
الاستعلام (أربعة) â € “”الشركة
تقديم قائمة من أرقام مشروع للمشاريع التي إشراك الموظف الذي هو â € € ™ ~Smithâ الاسم الأخير، إما أنها عامل أو كمدير لقسم الذي يسيطر على المشروع.
الحدادون (essn): = مشروع شبكة الأمان الاجتماعي (اختر lname = â € ~Smithâ € ™ (موظف))؛
smith_worker_projs: = مشروع PNO (works_on njoin الحدادون)؛
MGRS: = مشروع lname، dnumber (اختر شبكة الأمان الاجتماعي = mgrssn (قسم المنتجات موظف))؛
smith_mgrs: = selecy lname = â € ™ Smithâ € ™ (MGRS)؛
smith_managed_depts (dnum): = مشروع dnumber (smith_mgrs)؛
smith_mgr_projs (PNO): = مشروع pmumber (smith_managed_depts njoin مشاريع)؛
alg3: = smith_worker_projs smith_mgr_projs الاتحاد.
الاستعلام (خمسة) â € “”الشركة
قائمة بأسماء جميع الموظفين مع اثنين أو أكثر من المعالين.
٪ جعل نسختين من الموظفين المعيلين.
Empdep1 (essn، depname1): = مشروع essn، dependent_name (التابعة).
empdep2 (essn2، depname2): = empdep1.
والموظفين الذين لديهم أكثر من واحد يعتمد.
Emps_gtone_dep (SSN): = essn1 مشروع (حدد (essn = essn2) و (depname1 <> depname2) (empdep1 empdep2 المنتج))؛
alg5: = lname المشروع، fname (موظف njoin EMPS) gtone_dep)؛
الاستعلام (ستة) – الشركة
استرداد أسماء الموظفين الذين ليس لديهم المعالين.
All_emps: = مشروع شبكة الأمان الاجتماعي (الموظف). Emps_with_deps (SSN): = essn مشروع (التابعة). Emps_without_deps: = (all_emps
emps_with_deps الفرق)؛ Alg6: = lname المشروع، fname
(emps_without_deps njoin موظف)؛
الاستعلام (سبعة) â € “”الشركة
قائمة أسماء المدراء الذين لديهم واحد على الأقل معتمدا.
Mgrssn (SSN): = مشروع mgrssn (قسم)؛ Emps_with_deps (SSN): = essn مشروع (التابعة). Mgrs_with_deps: = (mgrssn تتقاطع emps_with_deps)؛ Alg7: = lname المشروع، fname
(mgrs_with_deps njoin موظف)؛

“——————————————————————————————————————————————————

Support թարգմանությունը: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
Հարաբերական Հանրահաշիվ
Ինչ է հանրահաշիվ:
Հանրահաշիվ (Ալ-je-Bre) noun
Մաթեմատիկա
1 ընդհանրացումն թվաբանության, որի խորհրդանիշներ, սովորաբար տառերը այբուբենի, ներկայացնում թվեր կամ անդամների մի կոնկրետ շարք թվերի եւ կապված են գործողություններ, որոնք պահում բոլոր թվերի կոդավորմամբ.
2 սահմանվել միասին գործողությունների սահմանված փաթեթի հնազանդ հստակեցված օրենքներ:
3 Word ներկայացրել է Արաբական մաթեմատիկոս Ալ-Khwarizmi (մոտ 900 թ.) Եւ բերեց ավելի քան լատիներենի մեջ է Ռոբերտ վրա Chester 1145.

[Մերձավոր անգլերեն, ոսկրային ընդլայնված եւ իտալական, հանրահաշիվ, այնպես էլ միջնադարյան լատիներեն, արաբերենից ալ-jabr է, (գիտությունը) reuniting Ալ է, + jabr, վերամիավորումը, ոսկոր ընդլայնված]
Հանրահաշվական լեզուներն են տարածված computing: Բուլյան հանրահաշիվ տրամաբանությամբ դարպասները. եւ Հարաբերական հանրահաշվի բազայի DML.
Հիմնական բաղադրիչները, որը հանրահաշվի են մի շարք (օրինակ, operand) եւ գործողություններ (օրինակ, օպերատորներ), որոնք գործել բոլոր տարրերի կոդավորմամբ:
Operator հատկությունները (օրինակ, համարում է թիվ սահմանել, եւ, բացի գործողությունը) ներառում են. Addition է փոխարինող ավելի թվերի, քանի որ 3 + 4 = 4 + 3 (գումարած (3,4) == գումարած (4,3)); եւ լրացում ասել է ասոցիատիվ ավելի թվերի, քանի որ 3 + (4 + 5) = (3 + 4) + 5 (գումարած (3 գումարած (4,5)) == գումարած (գումարած (3,4), 5 ))):
Բնութագրերը հարաբերական հանրահաշիվ
Այն շահարկում ամբողջ հարաբերությունները միջոցով
սեմանտիկորեն unambigous շարք գործողությունների (Ed
Codd 1970):

Հարաբերական հանրահաշվի ի սահմանում են կապերի
երկարացում (tuples, տողերի) եւ օպերատորները ունեն
կամ մի շարք տեսական ծագման կամ հարաբերությունը ուղղվածությամբ
Շնորհք.

A Հարաբերական Հանրահաշվական արտահայտությունը ունի միջոցները մեկը
(Unary), կամ երկու (երկուական), հարաբերությունները եւ երբեմն մի
ընտրությունը վիճակը:
Մինչ An արտահայտությունը ի արտադրանքի մի հարաբերություն է:

Այլ բնութագիր:

հանրահաշվի ի օպերատորները աշխատել է բոլոր հարաբերության ի tuples.

հանրահաշվի ունի ընթացակարգային Հաշվողական
մոդել;

Բայց դա ոչ թե «Turing ամբողջական», կարելի է գրել մի
Pascal ծրագիր, որը շահարկում հարաբերությունները
որտեղ չկա հանրահաշվական համարժեք:

մի ընտրություն պայման պետք է վերլուծվի
յուրաքանչյուրը tuple ինքնուրույն.

թողարկման վրա հանրահաշվական գործողության է
ընդունելի է մուտքագրում է հետեւողական հանրահաշվական
Արտահայտությունը – սա կոչվում արտահայտությունը
կազմը:

Օպերատորներ, Union (երկուական)
Ինչ վերաբերում է մուտքագրում է Հարաբերական հանրահաշվական արտահայտվելու եւ դրա հետեւանքով նկատմամբ:
«ՄԻՈՒԹՅՈՒՆ» համատեղելիություն (UC) են երկու ՀԱՐԱԲԵՐՈՒԹՅՈՒՆՆԵՐԻ համար երկուական արտահայտությամբ, երկու մասնակից հարաբերությունները (օպերանդներից – R1 եւ R2) պետք է ունենա հետեւյալ կառուցվածքային արտահայտելու համար պետք է Մուտքագրեք ճիշտ: 1) երկու հարաբերությունները ունեն նույն աստիճանը ( այսինքն n), Եւ 2) յուրաքանչյուր հատկանիշի (1 <= i <= N), տիրույթը (R1.Attr_i) = տիրույթը (R2.Attr_i): Տվյալները, ՏԵՍԱԿԸ արտահայտումն է, եթե երկու հարաբերությունները գտնվում են u.c. Այնուհետեւ հարաբերությունը սխեման է բխող կամայական ընտրվել է լինել այն, որ առաջին operand: ELSE … (operand կոնկրետ, օրինակ արտադրանքը օպերատոր) իմաստաբանությունը: The ծագող հարաբերությունը ունի բոլոր կորտեժ առկա է ոչ առաջին, երկրորդ կամ երկու օպերանդներից.
Typing:
The տեսակը ծագող հարաբերությունների schema այն է, որ առաջին operand եթե երկու օպերանդ հարաբերությունները u.c.
նշում:
R1 U R2 UNION (R1, R2)
commutative YES ասոցիատիվ YES
Օպերատորներ, տարբերությունը (երկուական)
Տերմինաբանական:
Արդյունքում հարաբերությունը ներառում է բոլոր tuples առաջին operand, որոնք չեն ներկայացել է երկրորդ operand:
Typing:
The տեսակը ծագող հարաբերությունների schema այն է, որ առաջին operand եթե երկու օպերանդ հարաբերությունները u.c.
նշում:
R1 – R2 տարբ (R1, R2)
commutative NO ասոցիատիվ NO
Օպերատորներ ընտրությունը (unary)
Տերմինաբանական:
Ստեղծել նոր հարաբերություն կողմից դրա պարունակության որակական ից operand բոլոր tuples, որոնք բավարարում ընտրության պայմանները:
Tuples:
The տեսակը ծագող հարաբերությունների schema համարժեք է օպերանդ ի schema.
A ընտրությունը պայման ունի հետեւյալ ձեւը:
Վերագրել անուն համեմատական op. Constant արժեքը կամ հատկանիշի անունը համեմատական op. վերագրել անունը
Մի շարք ընտրության պայմանների կարող է համատեղել, ինչպես ընտրել CONDITION1 եւ ընտրեք condition2 կամ ընտրեք CONDITION1 կամ ընտրեք condition2
Որոշ բնորոշ համեմատությունը օպերատորները պատվիրված տիրույթներում ներառում է>, <, ==,! = Այլն
նշում:
(Ընտրեք պայման) R1 SELECT (R1, ընտրություն պայման)
Նշում:
Արդյունքում է մի ենթաբազմություն է operand!

commutative YES ասոցիատիվ YES
Հարաբերական Հանրահաշիվ: օպերատորները: Product (երկուական)
Տերմինաբանական:
Ստեղծել նոր հարաբերություն է կատարում Cartesian արտադրանքը
է երկու օպերանդներից:
(Եթե cardinalities են R1 եւ R2 են 60000 եւ 500
համապատասխանաբար, իրենց ապրանքի cardinality է 60000 * 500 =
3,000,000!)

Typing:
The օպերանդներից կարող է ունենալ որեւէ առնչություն schema. Արդյունքում հարաբերությունը Schema համարժեք է բերումով է օպերանդ փեսային schema.
նշում:
Սա չափազանց computationally թանկ է
գործողությունը:
Բացի այդ, արդյունքում ընդլայնում չէ սովորաբար իմաստալից !!

commutative Այո
ասոցիատիվ Այո

Օպերատորներ, պրոյեկցիոն (unary)
Տերմինաբանական:
Ստեղծել նոր հարաբերություն հեռացնելով ից operand բոլոր ատրիբուտները (եւ, հետեւաբար նրանց արժեքներ), որոնք չեն նշված կանխատեսումների արտահայտությամբ:
Typing:
The տեսակը ծագող schema համարժեք է օպերանդ ի schema բացառությամբ ատրիբուտներ չի նշված հատկանիշի ցուցակում:
նշում:
(Attr … x1, …, attr_xn) ԾՐԱԳԻՐ (R1, attr_x1, …, attr_xn)
Նշում:
Կրկնվող արժեքները անուղղակիորեն հեռացվել!
Հետագա Նշումներ:
Տված հանրահաշվական արտահայտությամբ մի պարանի նախագծերի ունենք երկու բան, կատարվում է վերակազմակերպում եւ կրկին երկարաձգելու !! Որոշակի հանրահաշվական մանիպուլյացիաների կարելի է հաղթահարել այդ սահմանափակումները:
commutative (ընդհանրապես) Ոչ ասոցիատիվ (ընդհանուր) Ոչ
Նվազագույն փաթեթը օպերատորների
Այն կարող է ցույց տալ, որ մի ենթաբազմություն ներկայացված օպերատորների (մասնավորապես ընտրել, ծրագրի, միութենական, տարբերությունը եւ արտադրանքի) են համարժեք, կամ ամբողջական է, նկարագրել այլ օպերատորների (օրինակ միանալ, խաչմերուկում եւ այլն):
Բացառիկ օգտագործման օպերատորների ամբողջական փաթեթի կարդալով որոշ բնական հանրահաշվական արտահայտություններ չափազանց անզիջում!
Օրինակ, խաչմերուկի օպերատորն ունի այս ձեւը:
INTERSECTION (R1, R2)
համարժեք է տարբ (ՄԻՈՒԹՅԱՆ (R1, R2), ՄԻՈՒԹՅԱՆ (տարբ (R1, R2), (տարբ (R2, R1)))
կամ համարժեք է
Տարբ (R1, տարբ (R1, R2))
Ինչու Հանրահաշիվ.
մի պարզ լեզու
սահմանվել է ժամանակի մուտք
սեմանտիկորեն ձայնային
արտահայտում է նույն հարցումները, որոնք այլ Հարաբերական մոդելը հիմնված լեզու describes
(Օրինակ, դեկլարատիվ Հարաբերական քար)
դատավարական
optimisable
Query (մեկ) â € “”Company
Առբերման ապա անունը եւ հասցեն բոլոր աշխատողների, ովքեր աշխատում է â € ~Researchâ € ™ բաժանմունքում:
research_dept: = Ընտրել dname = â € ™ Researcgâ € ™ (վարչություն);
research_dept_emps: = Ընտրել dnumber = dno (research_dept արտադրանքը աշխատակից).
algl1: = նախագիծը fname, lname, հասցեն (research_dept_emps),
Query (երկու) â € “”Company
Համար յուրաքանչյուր ծրագրի, որը գտնվում է € ~Staffordâ € ™, նշեք Ծրագրի համարը, վերահսկիչ բաժնի համարը, եւ վարչության managerâ € ™ s ազգանունը, հասցեն, ծննդյան.
Stafford-_projs: = Ընտրել plocation = â € ™ Staffordâ € ™ (ծրագրեր);
Contr_dept: = Ընտրել dnum-dnumber (Stafford_projs արտադրանքը բաժին).
proj_dept_mgr: = Ընտրել mgrssn = ssn (contr_dept արտադրանքը աշխատակից).
alg2: = նախագիծը pnumber, dnum, lname, հասցեն, bdate (proj_dept_mgr);
Query (երեք) â € “”Company
Գտնել անունները աշխատակիցների, ովքեր աշխատում են բոլոր ծրագրերի կողմից վերահսկվող բաժնի թվով 5:
Dept5_projs (pno) = նախագիծը pnumber (ընտրեք dnum = 5 (ծրագրերը)); emp_proj (SSN, pno) = նախագիծը essn, pno (works_on); emp_proj_ssns: = նախագիծը SSN (emp_proj); Բոլոր հնարավորությունները աշխատողների վրա dept5 նախագծերի: Poss_emps_dept5: = (dept5_projs արտադրանքի emp_proj_ssns); /% աշխատակիցներին, որ Dona € ™ s աշխատանքը բոլոր dept5 նախագծերի .. emps_not_dept5 = նախագիծը SSN (poss_emps_dept5 տարբերությունը emp_proj). result_emp_ssns: = EMP Proj SSNS տարբերությունը emps_not_dept5; alg3: = նախագիծը lname, fname (result_emp_ssns njoin աշխատակցին);
Query (չորս) â € “”Company
Դարձնել ցանկը ծրագրի թվերի ծրագրերի համար, որոնք ներառում աշխատակից, որի ազգանունը â € ~Smithâ € ™, կամ որպես բանվոր կամ որպես բաժնի մենեջեր, որը վերահսկում է նախագիծը:
Smiths (essn) = նախագիծը SSN (ընտրեք lname = â € ~Smithâ € ™ (աշխատակից));
smith_worker_projs: = նախագիծը pno (works_on njoin SMITHS);
mgrs: = նախագիծը lname, dnumber (ընտրեք SSN = mgrssn (աշխատակից արտադրանքը բաժին));
smith_mgrs: = selecy lname = â € ™ Smithâ € ™ (mgrs);
smith_managed_depts (dnum) = նախագիծը dnumber (smith_mgrs).
smith_mgr_projs (pno) = նախագիծը pmumber (smith_managed_depts njoin ծրագրեր).
alg3 = smith_worker_projs Union smith_mgr_projs.
Query (հինգ) â € “”Company
Անունները բոլոր աշխատողների հետ, երկու կամ ավելի խնամարկյալների.
% Դարձնել երկու պատճենները աշխատակիցների հետ խնամարկյալների:
Empdep1 (essn, depname1) = նախագիծը essn, dependent_name (կախված);
empdep2 (essn2, depname2): = empdep1;
& Employees մեկից ավելի կախված.
Emps_gtone_dep (SSN) = նախագիծը essn1 (ընտրել (essn = essn2) եւ (depname1 <> depname2) (empdep1 արտադրանքը empdep2));
alg5: = նախագիծը lname, fname (աշխատակից njoin emps) gtone_dep);
Query (վեց) – Ընկերության
Առբերման անունները աշխատողների, ովքեր չունեն խնամարկյալների:
All_emps: = նախագիծը SSN (աշխատակից). Emps_with_deps (SSN) = նախագիծը essn (կախյալ); Emps_without_deps: = (all_emps
Տարբերությունը emps_with_deps), Alg6: = նախագիծը lname, fname
(Emps_without_deps njoin աշխատակցին);
Query (յոթ) â € “”Company
Անունները կառավարիչների, ովքեր ունեն առնվազն մեկ կախված:
Mgrssn (SSN) = նախագիծը mgrssn (բաժին); Emps_with_deps (SSN) = նախագիծը essn (կախյալ); Mgrs_with_deps: = (mgrssn հատվում emps_with_deps); Alg7: = նախագիծը lname, fname
(Mgrs_with_deps njoin աշխատակցին);

“——————————————————————————————————————————————————

Support tərcümə: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
Relational Algebra
bir Cəbr nədir?
cəbr (əl-je-bre) isim
riyaziyyat
rəmzləri, əlifbası adətən məktublar, nömrələri və ya nömrələri xüsusi dəsti üzvləri təmsil dəsti bütün nömrələri keçirilməsi əməliyyatlarının bağlı olan hesab 1 A ümumiləşdirilməsi.
2 A müəyyən qanunlara riayət edin dəsti müəyyən əməliyyatları ilə birlikdə seçin.
Ərəb riyaziyyatçı Xarəzmi (təqribən 900 AD) tərəfindən təqdim 1145 Chester Robert latın dilinə üzərində gətirmişdir 3 Word.

[Ortacaq ingiliscə olan Orta əsr latın, həm də sümük-setting və İtalyan, cəbr, ərəb al-Cəbr (Elm) reuniting. Al, + Cəbr, birləşdirilməsi, sümük-qəbulu]
Cəbri dildə kompüter ümumi: Məntiq qapıları üçün Boolean cəbr; verilənlər bazası DML və İlişkisel cəbr.
bir cəbr əsas maddələr bir sıra (yəni operand) və set bütün elementləri hərəkət əməliyyatları (yəni operatorları) var.
Operator xassələri daxildir (məsələn, tam qurmaq və əlavə əməliyyat hesab) Əlavə integers artıq dəyişməli ildən 3 + 4 = 4 + 3 (plus (3,4) == plus (4,3)); və Addition-ci ildən integers artıq assosiativ olduğu ifadə edilir 3 + (4 + 5) = (3 + 4) + 5 (plus (3, plus (4,5)) == plus (plus (3,4), 5 ))).
Rel xüsusiyyətləri. cəbr
Bu vasitəsilə bütün əlaqələri manipulates
əməliyyatların semantically unambigous set (Ed
Codd 1970).

relational cəbr dəstləri əlaqə nin
uzadılması (tuples, satır) və operatorları var
ya müəyyən nəzəri mənşəyi və ya əlaqə yönümlü
üstünlük.

A relational cəbri ifadə giriş biri kimi var
(Unary), və ya iki (ikili), əlaqələr və bəzən
seçim şərt.
ifadəsi çıxış bir münasibət olsa da.

Digər Xüsusiyyətlər:

cəbr operatorları Əlaqələr Şöbəsinin tuples bütün iş;

cəbr prosessual hesablama var
model;

Amma “”Turing tam”” deyil, bir yaza bilərsiniz
üçün əlaqələrin manipulates Pascal proqramı
olan heç bir cəbri ekvivalent var.

bir seçim şərt qarşı qiymətləndiriləcək var
Hər müstəqil Tuple;

bir cəbri əməliyyat çıxış bir
bir ardıcıl cəbri məqbul giriş
ifadə – bu adlanır ifadə
tərkibi.

Operatorlar: Union (ikili)
Nə relational cəbri ifadə yazaraq və çıxan əlaqədar haqqında?
1) hər iki münasibətləri eyni dərəcəsi (: – ikili ifadə iki münasibətlərinin “”UNION”” UYĞUNLUQ (UC), iki iştirakçı münasibətləri (operands R1 və R2) ifadəsi növü doğru olması üçün aşağıdakı struktur məhdudiyyətlər olmalıdır yəni n); Və 2) Hər atributu (1 <= i = n), domain (R1.Attr_i) = domain (R2.Attr_i) <. iki münasibətləri U. Ç in ifadəsi nin DATA növü var IF Sonra çıxan münasibəti şeması birinci operand ki olmaq üçün seçilən ixtiyari edir. Başqa … (operand xüsusi – məsələn məhsul operator) Semantika: nəticəsində münasibət birinci, ikinci və ya hər iki operands ya mövcud bütün Tuple var.
Typing:
nəticəsində münasibət şeması növü ilk operand hər iki operand münasibətləri U. Ç, əgər ki,
Notation:
R1 U R2 UNION (R1, R2)
dəyişməli YES assosiativ YES
Operatorlar: Difference (ikili)
Semantika:
Çıxan əlaqə ikinci operand mövcud deyil ilk operand bütün tuples daxildir.
Typing:
nəticəsində münasibət şeması növü ilk operand hər iki operand münasibətləri U. Ç, əgər ki,
Notation:
R1 – R2 DIFF (R1, R2)
dəyişməli NO assosiativ NO
Operatorlar: Selection (unary)
Semantika:
operand seçilməsi şərtlərə cavab bütün tuples çıxarılması yeni bir əlaqəsi yaradın.
tuples:
nəticəsində münasibət şeması növü operand şeması bərabərdir.
Bir seçim vəziyyəti aşağıdakı forması var:
Müqayisə op adı Atribut. Constant dəyəri və ya adı müqayisə op Atribut. adını Atribut
Seçki şərait bir sıra seçin condition1 seçin condition2 və ya seçin condition1 və ya seçin condition2 kimi birləşdirilə bilər
sifariş alanlar üçün bəzi tipik müqayisə operatorları>, <==! = s daxildir
Notation:
(Seçin vəziyyəti) R1 SELECT (R1, seçim vəziyyəti)
Qeyd:
nəticəsində operand alt edir!

dəyişməli YES assosiativ YES
Relational Algebra Operator: Product (ikili)
Semantika:
bir Kartezyen məhsul yerinə yeni bir əlaqəsi yaradın
iki operands.
(R1 və R2 cardinalities 60000 500 Əgər
müvafiq olaraq, onların məhsulun cardinality 60000 * 500 = edir
3.000.000!)

Typing:
operands hər hansı bir əlaqə şeması ola bilər. Çıxan əlaqə şeması operand münasibətləri şeması concatenation bərabərdir.
Notation:
Bu son dərəcə computationally bahalı
əməliyyat!
Həmçinin, çıxan uzadılması adətən mənalı deyil !!

dəyişməli Bəli
assosiativ Bəli

Operatorlar: Projection (unary)
Semantika:
operand kaldırmayı yeni bir əlaqəsi yaratmaq proyeksiya ifadə qeyd bütün atributları (və nəticədə onların dəyərlər).
Typing:
nəticəsində şeması növü operand şeması lakin atributu siyahısında qeyd atributları istisna bərabərdir.
Notation:
(Attr … x1, … attr_xn) PROJECT (R1, attr_x1, … attr_xn)
Qeyd:
Duplicate dəyərlər dolayısı çıxarılır!
Əlavə Qeydlər:
layihələrin bir simli ilə cəbri ifadə, biz iki şeyi gedir var – yenidən qurulması və yenidən uzadılması !! müəyyən cəbri manipulyasiya ilə bir bu məhdudiyyətlər aradan qaldırmaq olar.
No (ümumi) No assosiativ (ümumi) dəyişməli
operatorların Minimal set
Bu təqdim operatorları (xüsusilə seçin, layihə, peşə, fərq və məhsul) alt, adekvat və ya tam (məsələn qoşulmaq s kəsişmə) digər operatorları təsvir ki, göstərilir.
tam dəsti operatorların müstəsna istifadə son dərəcə sert bəzi təbii cəbri ifadələr oxu olun!
Məsələn, kəsişmə operator bu forması var:
INTERSECTION (R1, R2)
Fərqləri (UNION (R1, R2), UNION (fərq (R1, R2) (fərq (R2, R1))) bərabərdir
və ya ekvivalent
DIFF (R1, fərq (R1, R2))
Nə üçün cəbr?
sadə dil
bir vaxt çıxışı müəyyən
semantically səs
başqa relational model based dil təsvir eyni sorğu ifadə
(Məsələn nəqli relational calculus)
prosessual
optimisable
Query (bir) â € “”Company
sonra adı və â € ~Researchâ € ™ şöbəsinin iş bütün işçilərin ünvanı almaq.
research_dept: = seçin dname = € ™ Researcgâ € ™ (şöbəsi) â;
research_dept_emps: = seçin dnumber = Dno (research_dept məhsul işçi);
algl1: = layihə fname, lname, ünvanı (research_dept_emps);
Query (iki) â € “”Company
â € ~Staffordâ € ™ yerləşən hər layihə üçün, layihə sayı, nəzarət şöbəsi sayı, və şöbə ManagerA € ™ s soyadı, ünvanı və doğum siyahısı.
Stafford-_projs: = seçin plocation = â € ™ Staffordâ € ™ (layihələr);
Contr_dept: = seçin dnum-dnumber (Stafford_projs məhsul şöbə);
proj_dept_mgr: = seçin mgrssn = SSN (contr_dept məhsul işçi);
alg2: = layihə pnumber, dnum, lname, ünvan, bdate (proj_dept_mgr);
Query (üç) â € “”Company
şöbə sayı 5 tərəfindən nəzarət bütün layihələr üzərində işləmək işçilərin adları axtar.
Dept5_projs (Pno) = layihə pnumber () = 5 (layihələr dnum seçin); emp_proj (SSN, Pno) = layihə essn, Pno (works_on); emp_proj_ssns: = layihə SSN (emp_proj); % Dept5 layihələr üzərində çalışan işçilərin bütün imkanları. ; Poss_emps_dept5 bütün dept5 layihələr .. emps_not_dept5 on € ™ s iş Dona /% əməkdaşları = (məhsul emp_proj_ssns dept5_projs) = layihə SSN (poss_emps_dept5 fərq emp_proj); result_emp_ssns: = ƏMİP PROJ SSNs fərq emps_not_dept5; alg3: = layihə lname, fname (result_emp_ssns işçinin njoin);
Query (dörd) â € “”Company
işçi olaraq və ya layihə nəzarət şöbəsinin meneceri kimi Ya soyadı € ~Smithâ € ™ â bir işçinin cəlb layihələr üçün layihə nömrələri siyahısını edin.
Smiths (essn) = layihə SSN (= lname seçin â € ~Smithâ € ™ (işçi));
smith_worker_projs: = layihə Pno (works_on njoin smiths);
MGRS: = layihə lname, dnumber (seçin SSN = mgrssn (işçi məhsul şöbəsi));
smith_mgrs: = selecy lname = € â ™ SMITHA € ™ (MGRS);
smith_managed_depts (dnum) = layihə dnumber (smith_mgrs);
smith_mgr_projs (Pno) = layihə pmumber (layihələr njoin smith_managed_depts);
alg3: = smith_worker_projs union smith_mgr_projs;
Query (beş) â € “”Company
iki və ya daha çox ailə ilə bütün işçilərin adları siyahısı.
% Öhdəsində işçilərin iki nüsxədə olun.
Empdep1 (essn, depname1) = layihə essn, dependent_name (asılı);
empdep2 (essn2, depname2) = empdep1;
asılı dən çox biri ilə və əməkdaşları.
Emps_gtone_dep (SSN) = layihə essn1 (seçin (essn = essn2) və (depname1 <> depname2) (empdep1 məhsul empdep2));
alg5: = layihə lname, fname (EMPS njoin əməkdaşı) gtone_dep);
Query (altı) – Company
heç bir öhdəsində işçilərin adları alın.
All_emps: = layihə SSN (işçi); Emps_with_deps (SSN) = layihə essn (asılı); Emps_without_deps: = (all_emps
Fərq emps_with_deps); Alg6: = layihə lname, fname
(Emps_without_deps işçinin njoin);
Query (yeddi) â € “”Company
asılı ən azı bir var idarəçiləri adları siyahısı.
Mgrssn (SSN) = layihə mgrssn (şöbə); Emps_with_deps (SSN) = layihə essn (asılı); Mgrs_with_deps: = (mgrssn emps_with_deps kəsişdiyi); Alg7: = layihə lname, fname
(Mgrs_with_deps işçinin njoin);

“——————————————————————————————————————————————————

Itzulpengintza euskarria: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
Erlaziozko Algebra
Zer da Algebra bat?
algebra (al-je-bre) noun
Matematika
1 aritmetika orokortze bat, eta bertan, sinboloak, normalean alfabetoaren hizkiak, zenbakiak irudikatzeko edo zenbaki multzo zehatz bateko kideak dira, eta multzoan zenbaki guztietan eutsi duten ustiategiek lotuta.
2 A ezarri elkarrekin zehaztutako aginduak betetzen duten multzoan definitutako eragiketak.
3 Hitza Arabiar matematikari al-Khwarizmi (circa 900 AD) sartutako eta ekarritako Latin sartu Chester of Robert-ek 1145 urtean.

[Middle English, hezur-ezarpena eta Italian, algebra, bai Erdi Aroko Latindar, from Arabic al-Jabr, (zientzia) etorri reuniting:. Al, the + Jabr, biltzeagatik, hezur-ezarpena]
Aljebraikoa hizkuntzetan arruntak dira informatikan: logika ate algebra Boolean; eta datu-base erlazionalak DML for algebra.
Oinarrizko aljebra baten osagai multzo bat (adibidez, eragigai) eta eragiketak (adibidez operadore) multzoko elementu guztiak jardun dira.
Operator propietate (adibidez, kontuan hartu zenbaki oso bat ezarri eta batuketak), besteak beste: Addition zenbaki osoen gainetik trukakorra da geroztik 3 + 4 = 4 + 3 (plus (3,4) == plus (4,3)); eta Addition esaten da zenbaki osoen gainetik elkartze geroztik izan den 3 + (4 + 5) = (3 + 4) + 5 (plus (3, plus (4,5)) == plus (plus (3,4), 5 ))).
Rel ezaugarriak. Algebra
baten bitartez harremanak osoa maneiatzen ditu
eragiketa multzo semantikoki unambigous (Ed
Codd 1970).

Erlazionalaren algebra en multzo erlazioa en dira
luzapena (tuplen, ilaretan) eta operadore dute
bai bat ezarri teoretiko jatorria edo erlazio bideratutako
mesede.

erlazional adierazpen algebraikoa A Sarrerek bat jo du
(Unario), edo bi (bitarra), harremanak eta batzuetan bat
Aukeraketa baldintza.
adierazpen bat irteera erlazio bakar bat dagoen bitartean.

Beste Ezaugarriak:

algebra horrek operadore erlazio horrek tuplen guztietan ibiliko;

algebra prozedurazko konputazionala dauka
eredua;

Baina ez da “”Turing osoa”” bat idatzi ahal izango da
Pascal programa harremanak manipulatzen for
bertan ez dago algebraiko baliokideak.

Aukeraketa baldintza bat aurka ebaluatu behar ditu
bakoitza tupla independentean;

aljebraikoa eragiketa baten irteera bat
sarrera onargarria horren ondorioz aljebraiko bat
adierazpen – hau deitzen da adierazpen
osaketa.

Operadore: Union (bitarra)
Zer erlazional adierazpen algebraikoa idaztea eta bere azken ondorio erlazioa buruz?
“”Batasuna”” COMPATIBILITY (uc) BI-harremanen adierazpen bitar bat, bi parte-hartzaileak harremanak (eragigaien – R1 eta R2) honako egiturazko mugak izan behar ditu adierazpen mota zuzena egiteko: 1) bai harremanen maila bera dute ( ie n); & 2) atributu bakoitzak (1 <= i <= n), domeinua (R1.Attr_i) = domeinua (R2.Attr_i). Datu mota bat adierazpena GERO bi harremanen u.c. daude Orduan erlazioa ondoriozko eskema arbitrarioa aukeratutako lehen eragigaia, zera izan da. ELSE … (eragigai partida – adibidez, produktuen operadorea) Semantika: resultant erlazioa The tupla bai lehen, bigarren edo bi eragigai guztiak dauzka.
Idazketa:
resultant erlazio eskema-mota da, lehen eragigaia, bai eragigai harremanak u.c. badira
Idazkera:
R1 R2 U UNION (R1, R2)
trukakorra BAI BAI elkartze
Operadore: Aldea (bitarra)
Semantika:
azken ondorio erlazioa Lehen eragigaiaren of tuplen ez diren bigarren eragigaia dauden guztiak barne hartzen ditu.
Idazketa:
resultant erlazio eskema-mota da, lehen eragigaia, bai eragigai harremanak u.c. badira
Idazkera:
R1 – R2 DIFF (R1, R2)
trukakorra NO NO elkartze
Operadore: hautapena (unario)
Semantika:
Sortu erlazio berri bat eragigai batetik erauzten aukeraketa baldintzak betetzen dela tuplen guztiek.
tuplen:
resultant erlazio eskema-mota eragigai horrek, eskema baliokidea.
Aukeraketa Baldintza Honako forma du:
Atributu izen konparazioa op. Constant balio edo Atributu izen konparazioa op. Atributu izen
Hautaketa baldintza batzuk egon baldintza1 hautatu eta hautatu baldintza2 edo hautatu baldintza1 edo hautatu baldintza2 bezala konbinatu ahalko
tipikoa alderatuz agindu domeinuak operadore batzuk honakoak>, <, ==, =, etc
Idazkera:
(Hautatu baldintza) R1 SELECT (R1, aukeraketa baldintza)
Ohar:
Ondoriozko eragigai azpimultzo bat da!

trukakorra BAI BAI elkartze
Erlaziozko Algebra: operadoreak: Produktua (bitarra)
Semantika:
Sortu erlazio berri bat kartesiarrak produktu bat exekutatu
bi eragigaiak du.
(R1 eta R2 cardinalities the 60000 eta 500 badira
hurrenez hurren, bere produktu-en cardinality da 60000 * 500 =
3.000.000!)

Idazketa:
eragigaien edozein erlazio Eskema izan daiteke. Hemendik sorturiko erlazio eskema-eragigai en relación Eskema lotuz baliokidea.
Idazkera:
Hau da, oso konputazionalki garestia bat
Eragiketa!
Era berean, resultant luzapena ez da normalean esanguratsu !!

trukakorra Bai
elkartze Bai

Operadore: Proiekzioa (unario)
Semantika:
Sortu erlazio berri bat eragigai batetik kenduz atributu guztiak (eta, ondorioz, beren balioak) ez diren proiekzio adierazpena aipatu.
Idazketa:
resultant Eskema mota eragigai en eskemaren baina ez attribute zerrendan agertzen diren atributuak kenduta baliokidea.
Idazkera:
(Pantailazatiak … x1, …, attr_xn) PROJECT (R1, attr_x1, …, attr_xn)
Ohar:
Duplicate balioak dira inplizituki kendu!
Aurrerago Oharrak:
proiektuak kate batekin adierazpen aljebraiko bat, bi gauza gertatzen dugu – berregituratzeko eta re-zabalduz !! zenbait aljebraiko manipulazio With bat murrizketak horiek gainditu daitezke.
trukakorra (orokorrean) elkartze No (orokorrean) No
operadore multzo Minimal
Froga daiteke aurkeztu operadore (zehazki, hautatu, proiektu, sindikal, desberdintasuna eta produktua) azpimultzo bat dela egokia, edo osoak dira, beste operadore deskribatzeko (adibidez batu, Villatuerta eta abar).
Multzo osoa operadore erabilera esklusiboa egiteko zenbait aljebraiko esamoldeak natural irakurtzen oso kementsuak!
Adibidez, elkargunean operadorea formulario hau dauka:
INTERSECTION (R1, R2)
da DIFF (UNION (R1, R2), UNION (DIFF (R1, R2), (Ezb (R2, R1))) baliokidea
edo baliokidea
DIFF (R1, DIFF (R1, R2))
Zergatik aljebra bat?
hizkuntza sinple bat
denbora sarbide bat ezarri
semantikoki soinua
Kontsulta bereko beste harreman-eredu oinarritutako hizkuntza deskribatzen duten adierazten duena
(Adibidez, etxera etorri adierazpenezkoak erlazional kalkulu)
prozedurazkoa
optimisable
Kontsulta (bat) â € “”Enpresa
Eskuratu ondoren izena eta â € ~Researchâ € ™ departamenduan lan egiten duten langile guztien helbidea.
research_dept: = hautatu dname = â € ™ Researcgâ € ™ (departamendua);
research_dept_emps: = hautatu dnumber = dno (research_dept produktu langilea);
algl1: = Proiektu FName, lname, helbidea (research_dept_emps);
Kontsulta (bi) â € “”Enpresa
â € ~Staffordâ € ™ kokatutako proiektu guztietan, zerrenda Project zenbakia, kontrolatzeko sailaren zenbakia, eta departamentuko managerâ € ™ s abizena, helbidea, eta jaiotza-data.
Stafford-_projs: = hautatu plocation = â € ™ Staffordâ € ™ (proiektu);
Contr_dept: = hautatu dnum-dnumber (Stafford_projs produktu departamenduan);
proj_dept_mgr: = hautatu mgrssn = SSN (contr_dept produktu langilea);
alg2: = Proiektu pnumber, dnum, lname, helbidea, bdate (proj_dept_mgr);
Kontsulta (hiru) â € “”Enpresa
Aurki sailaren zenbakia 5 by kontrolatua Proiektu guztietan lan egiten duten langileen izenak.
Dept5_projs (PNO): = Proiektu pnumber (hautatu dnum = 5 (proiektuak)); emp_proj (SSN, PNO): = Proiektu essn, PNO (works_on); emp_proj_ssns: = Proiektu SSN (emp_proj); % Dept5 proiektuetan lan langileen posibilitate guztiak. Poss_emps_dept5: = (dept5_projs produktu emp_proj_ssns); /% Langileak Doña dagoela € ™ s lana dept5 proiektu guztiak .. emps_not_dept5 on: = Proiektu SSN (poss_emps_dept5 aldea emp_proj); result_emp_ssns: = EMP PROJ ssns aldea emps_not_dept5; alg3: = Proiektu lname, FName (result_emp_ssns njoin langilea);
Kontsulta (lau) â € “”Enpresa
Egin proiektu zenbakien zerrenda bat horren abizena â € ~Smithâ € ™ da langile bat inplikatzea, bai langile gisa edo Sailaren manager bat proiektua kontrolatzen duen bezala proiektuetarako.
Smiths (essn): = Proiektu SSN (hautatu lname = â € ~Smithâ € ™ (langilea));
smith_worker_projs: = Proiektu PNO (works_on njoin Smiths);
mgrs: = Proiektu lname, dnumber (hautatu SSN = mgrssn (langilea produktu departamenduan));
smith_mgrs: = selecy lname = â € ™ SMITHA € ™ (mgrs);
smith_managed_depts (dnum): = Proiektu dnumber (smith_mgrs);
smith_mgr_projs (PNO): = Proiektu pmumber (smith_managed_depts proiektu njoin);
alg3: = smith_worker_projs sindikal smith_mgr_projs;
Kontsulta (bost) â € “”Enpresa
langile guztien izenak zerrendatzen bi edo gehiago pentzura batera.
% Bi langile kopiak Egin pentzura batera.
Empdep1 (essn, depname1): = Proiektu essn, dependent_name (menpeko);
empdep2 (essn2, depname2): = empdep1;
& Inork menpe baino gehiago dituzten langileak.
Emps_gtone_dep (SSN): = Proiektu essn1 (aukeratu (essn = essn2) eta (depname1 <> depname2) (empdep1 produktu empdep2));
alg5: = Proiektu lname, FName (langile emps njoin) gtone_dep);
Kontsulta (sei) – Enpresa
langile pentzura ez dute izenak Berreskuratu.
All_emps: = Proiektu SSN (langilea); Emps_with_deps (SSN): = Proiektu essn (menpeko); Emps_without_deps: = (all_emps
Aldea emps_with_deps); Alg6: = Proiektu lname, FName
(Emps_without_deps njoin langilea);
Kontsulta (zazpi) â € “”Enpresa
kudeatzaileek duten gutxienez One menpeko izan izenak zerrendatzen.
Mgrssn (SSN): = Proiektu mgrssn (departamendua); Emps_with_deps (SSN): = Proiektu essn (menpeko); Mgrs_with_deps: = (mgrssn gurutzatzen emps_with_deps); Alg7: = Proiektu lname, FName
(Mgrs_with_deps njoin langilea);

“——————————————————————————————————————————————————

пераклад Падтрымка: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
рэляцыйная алгебра
Што такое алгебра?
алгебра (ал-JE-BRE) назоўнік
матэматыка
1 Абагульненне арыфметыкі, у якой сімвалы, звычайна літары алфавіту, уяўляюць колькасці або членаў пэўнага набору лікаў і звязаныя аперацыямі, якія трымаюць для ўсіх лікаў у наборы.
2 Мноства разам з аперацыямі, пэўнымі ў наборы, якія падпарадкоўваюцца законам спецыфікаваных.
3 Слова уведзены арабскага матэматыка аль-Харэзм (каля 900 г. н.э.) і прывёз на лацінскую мову Роберта Чэстару ў 1145 годзе.

[Сярэдні англійская, косці налады і італьянскі, алгебра, як ад сярэднявечнай латыні, ад арабскага аль-Джабер, то (навука) уз’яднацца :. Al, на + Джабер, ўз’яднання, касцёва-налады]
Алгебраічныя мовы распаўсюджаныя ў вылічэннях: Булева алгебра для лагічных вентыляў; і рэляцыйная алгебра для DML базы дадзеных.
Асноўныя інгрэдыенты алгебры з’яўляюцца набор (г.зн. аперанд) і аперацыі (г.зн. аператараў), якія дзейнічаюць на ўсіх элементах мноства.
Ўласцівасці аператара (напрыклад, разгледзім цэлае мноства, а аперацыю складання) ўключаюць у сябе: складанне коммутативно над цэлымі лікамі, так як 3 + 4 = 4 + 3 (плюс (3,4) == плюс (4,3)); і даданне называецца асацыятыўнай над цэлымі лікамі, так як 3 + (4 + 5) = (3 + 4) + 5 (плюс (3, плюс (4,5)) == плюс (плюс (3,4), 5 ))).
Характарыстыкі отн. алгебра
Ён маніпулюе цэлыя адносіны сувязь праз
семантычна адназначныя набор аперацый (Ed
Codd 1970).

Наборы рэляцыйнай алгебры з’яўляюцца суадносіны-х
пашырэння (картэжы, радкі) і аператары маюць
альбо тэарэтыка-множны паходжанне або стаўленне арыентаваных
даруюць.

Рэляцыйная алгебраічнай выраз мае ў якасці ўваходных дадзеных аднаго
(Унарный) або два (двайковы), адносіны і часам
ўмова выбару.
У той час як выхад гэты выраз з’яўляецца адным суадносінамі.

Іншыя характарыстыкі:

Аператары алгебры працуюць на ўсіх картэжаў суадносін у;

алгебра мае працэдурны па кампутарным
мадэль;

Але гэта не “”Цьюрынга””, можна напісаць
Паскаль праграма, якая маніпулюе адносіны для
якая не існуе алгебраічны эквівалент.

ўмова выбару павінен быць ацэнены супраць
кожны картэж незалежна адзін ад аднаго;

выхад алгебраічнай аперацыі з’яўляецца
прымальны ўваход для наступнага алгебраічнага
Выраз – гэта называецца выраз
Склад.

Аператары: Саюз (двайковы)
Як наконт типирование рэляцыйнай алгебраічнага выказвання і яго выніковага адносіны?
“”САЮЗ”” сумяшчальных (ЯК) двух адносін Для бінарнага выразы, дзве ўдзельнічаюць адносіны (аперанды – R1 і R2) павінны мець наступныя структурныя абмежаванні для выражэння быць тып правільна: 1) абодва суадносін маюць аднолькавую ступень ( г.зн. п); & 2) для кожнага атрыбуту (1 <= I <= N), дамен (R1.Attr_i) = дамен (R2.Attr_i). Тып дадзеных выразы ПЧ два адносіны знаходзяцца ў вялікія літары Тады стаўленне схема выніковай адвольна абраны, каб быць, што з першага аперанда. Інакш … (аперанд спецыфічныя – напрыклад, аператар прадукту) Семантыка: Атрыманае стаўленне мае ўсе картэж прысутнічаць альбо першы, другі або абодва аперанда.
Typing:
Тып выніковага адносіны схемы з’яўляецца тое, што з першага аперанда, калі абодва аперанда адносіны ў вялікія літары
абазначэнні:
R1 U R2 UNION (R1, R2)
коммутативное асацыятыўнае ДА ДА
Аператары: Розніца (двайковы)
семантыка:
Выніковае стаўленне ўключае ўсе картэжы першага аперанда, якія не прысутнічаюць у другім аперанда.
Typing:
Тып выніковага адносіны схемы з’яўляецца тое, што з першага аперанда, калі абодва аперанда адносіны ў вялікія літары
абазначэнні:
R1 – R2 DIFF (R1, R2)
коммутативен NO асацыятыўная NO
Аператары: Выбар (унарный)
семантыка:
Стварыць новае стаўленне шляхам здабывання з аперанда ўсе картэжы, якія задавальняюць умовам выбару.
картэжы:
Тып выніковага адносіны схемы эквівалентная схеме аперанда па.
Умовай выбару мае наступны выгляд:
Імя атрыбуту Параўнанне ор. Пастаяннае значэнне або Імя атрыбуту Параўнанне ор. імя атрыбуту
Шэраг умоў адбору могуць быць аб’яднаныя, як і ў абярыце Condition1 і абярыце Condition2 або абярыце Condition1 або абярыце Condition2
Некаторыя тыповыя аператары параўнання для упарадкаваных абласцей ўключаюць у сябе>, <, == ,! =, І г.д.
абазначэнні:
(Выберыце стан) R1 SELECT (R1, ўмова выбару)
нататка:
Атрыманы ў выніку ўяўляе сабой падмноства аперанда!

коммутативное асацыятыўнае ДА ДА
Рэляцыйная алгебра: Аператары: Прадукт (двайковы)
семантыка:
Стварыць новае стаўленне, выканаўшы декартовых твор
з двух аперанд.
(Калі кардынальнасць R1 і R2 з’яўляюцца 60 тысяч і 500
адпаведна, магутнасць іх прадукту складае 60000 * 500 =
3000000!)

Typing:
Аперанды могуць мець дачыненьне схемы. Атрыманае суадносіны схемы эквівалентна канкатэнацыі адносіны ад схемы аперанда.
абазначэнні:
Гэта надзвычай вылічальная дорага
праца!
Акрамя таго, у выніку пашырэння, як правіла, не мае сэнсу !!

коммутативен Так
асацыятыўная Так

Аператары: Праекцыя (унарный)
семантыка:
Стварыць новае стаўленне шляхам выдалення з аперанда ўсе атрыбуты (і, такім чынам, іх значэння), якія не згаданыя ў выразе праекцыі.
Typing:
Тып атрыманай схемы эквівалентная схеме аперанда, але за выключэннем атрыбутаў, не ўказаных у спісе атрыбутаў.
абазначэнні:
(АТР … x1, …, attr_xn) ПРАЕКТ (R1, attr_x1, …, attr_xn)
нататка:
Паўтараюцца значэння няяўна выдаляюцца!
Дадатковыя заўвагі:
У алгебраічнай выразе са радком праектаў у нас ёсць дзве рэчы адбываецца – рэструктурызацыя і паўторнае пашырэнне !! З дапамогай некаторых алгебраічных маніпуляцый можна пераадолець гэтыя абмежаванні.
коммутативной (у агульным выпадку) Няма асацыятыўнай (у цэлым) Няма
Мінімальны набор аператараў
Можна паказаць, што падмноства прадстаўленых аператараў (у прыватнасці, абраць, праекта, аб’яднанне, рознасць і твор) з’яўляюцца адэкватнымі, або поўная, для апісання іншых аператараў (напрыклад, злучэнні, скрыжаванне і г.д.).
Выключнае выкарыстанне аператараў з поўнага набору робяць чытанне некаторыя натуральныя Алгебраічныя выразы вельмі няўступлівым!
Напрыклад, аператар перасячэння мае такі выгляд:
Перасячэння (R 1, R 2)
эквівалентна Diff (UNION (R1, R2), UNION (DIFF (R1, R2), (DIFF (R2, R1)))
або эквівалентна
DIFF (R1, DIFF (R1, R2))
Чаму алгебра?
простая мова
ўсталяваць на час доступу
семантычна гук
выказвае тыя ж запыты, што іншы рэляцыйнай мадэлі на аснове мовы апісвае
(Гэта значыць дэкларатыўнай рэляцыйнае падлік)
працэдурны
optimisable
Query (адзін) â € “”Кампанія
Retrieve то імя і адрас ўсіх супрацоўнікаў, якія працуюць у аддзеле â € ~ Researchâ € ™.
research_dept: = выбраць DNAME = â € ™ Researcgâ € ™ (дэпартамент);
research_dept_emps: = выбраць dnumber = дно (research_dept супрацоўніка прадукцыі);
algl1: = праект Fname, LNAME, адрас (research_dept_emps);
Запыт (два) â € “”Кампанія
Для кожнага праекта, размешчанага ў € ~ Staffordâ € ™, пазначце нумар праекта, кантрольны нумар аддзела, і Дэпартамент managerâ € ™ з прозвішча, адрас і дату нараджэння.
Стаффорд-_projs: = выбраць plocation = â € ™ Staffordâ € ™ (праекты);
Contr_dept: = выбраць dnum-dnumber (дэпартамент прадукт Stafford_projs);
proj_dept_mgr: = выбраць mgrssn = Пла (contr_dept супрацоўнік прадукту);
alg2: = праект pnumber, dnum, LNAME, адрас bdate (proj_dept_mgr);
Запыт (тры) â € “”Кампанія
Знайсці імёны супрацоўнікаў, якія працуюць на ўсіх праектаў, якія кіруюцца аддзелам № 5.
Dept5_projs (ПНО): = праект pnumber (абярыце dnum = 5 (праектаў)); emp_proj (Пла, ПНО): = праект ESSN, ПНО (works_on); emp_proj_ssns: = праект Пла (emp_proj); % Усе магчымасці супрацоўнікаў, якія працуюць на dept5 праектаў. Poss_emps_dept5: = (dept5_projs emp_proj_ssns прадукцыі); /% супрацоўнікаў, якія donà працу € ™ з на ўсіх dept5 праектаў .. emps_not_dept5: = праект Пла (poss_emps_dept5 розніца emp_proj); result_emp_ssns: = EMP розніца PROJ Пла emps_not_dept5; alg3: = праект LNAME, Fname (result_emp_ssns njoin работніка);
Запыт (чатыры) â € “”Кампанія
Складзіце спіс нумароў праектаў для праектаў, якія залучаюць супрацоўніка, чыё прозвішча â € ~ Smithâ € ™, альбо ў якасці работніка або ў якасці мэнэджэра аддзела, які кантралюе праект.
Сміт (ESSN): = праект Пла (абярыце LName = â € ~ Smithâ € ™ (супрацоўнік));
smith_worker_projs: = праект ПНО (works_on njoin кавалі);
МГРС: = праект LNAME, dnumber (абярыце Пла = mgrssn (дэпартамент прадукт супрацоўнік));
smith_mgrs: = selecy LNAME = â € ™ Smitha € ™ (МГРС);
smith_managed_depts (dnum): = праект dnumber (smith_mgrs);
smith_mgr_projs (ПНО): = праект pmumber (smith_managed_depts njoin праектаў);
alg3: = smith_worker_projs саюз smith_mgr_projs;
Запыт (пяць) â € “”Кампанія
Спіс імёнаў ўсіх супрацоўнікаў з двума або больш утрыманцаў.
% Зрабіце дзве копіі супрацоўнікаў, якія маюць утрыманцаў.
Empdep1 (ESSN, depname1): = праект ESSN, dependent_name (залежных);
empdep2 (essn2, depname2): = empdep1;
і супрацоўнікаў з больш чым адной залежнай.
Emps_gtone_dep (Пла): = essn1 праект (абярыце (ESSN = essn2) і (depname1 <> depname2) (empdep1 прадукт empdep2));
alg5: = праект LNAME, Fname (супрацоўнік njoin ПУОС) gtone_dep);
Запыт (шэсць) – Кампанія
Атрымаць імёны супрацоўнікаў, якія не маюць утрыманцаў.
All_emps: = праект Пла (супрацоўнік); Emps_with_deps (Пла): = праект ESSN (залежных); Emps_without_deps: = (all_emps
Розніца emps_with_deps); Alg6: = праект LNAME, Fname
(Emps_without_deps njoin работніка);
Запыт (сем) â € “”Кампанія
Спіс імёнаў менеджэраў, якія маюць па крайняй меры адзін залежны.
Mgrssn (Пла): = праект mgrssn (дэпартамент); Emps_with_deps (Пла): = праект ESSN (залежных); Mgrs_with_deps: = (mgrssn перасякаюцца emps_with_deps); Alg7: = праект LNAME, Fname
(Mgrs_with_deps njoin работніка);

“——————————————————————————————————————————————————

সাপোর্ট অনুবাদ: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
রিলেশনাল বীজগণিত
একটি বীজগণিত কি?
বীজগণিত (আল Je-Bre) বিশেষ্য
অংক
1 পাটীগণিতের একটি সামান্যীকরণ যা চিহ্ন, সাধারণত বর্ণমালার অক্ষর, সংখ্যা বা সংখ্যার একটি নির্দিষ্ট সেট সদস্যদের প্রতিনিধিত্ব করেন এবং অপারেশন যে সেটে সব সংখ্যার জন্য রাখা দ্বারা সম্পর্কিত হয়.
2 একটি সেট যে নির্দিষ্ট নিয়ম মেনেই চলতে সংজ্ঞায়িত অপারেশন সঙ্গে একসঙ্গে সেট.
3 বাক্য আরব গণিতবিদ আল খোয়ারিজমি (প্রায় 900 খ্রিস্টাব্দ) কর্তৃক প্রবর্তিত এবং 1145 সালে চেস্টার রবার্ট দ্বারা ল্যাটিন মধ্যে আনা.

[মধ্য ইংরেজি, হাড়-সেটিং এবং ইতালিয়ান, বীজগণিত, উভয় মধ্যযুগীয় লাতিন থেকে আরবি আল জাবর (বিজ্ঞান) reuniting:. আল + জাবর, পুনর্মিলন, হাড়-সেটিং]
বীজগাণিতিক ভাষায় কম্পিউটিং সাধারণ ব্যাপার: লজিক গেট জন্য বুলিয়ান বীজগণিত; এবং ডাটাবেসের DML জন্য রিলেশনাল বীজগণিত.
একটি বীজগণিতের মৌলিক উপাদানগুলো একটি সেট (অর্থাত অপার্যান্ড) এবং অপারেশন (অর্থাত অপারেটরদের) যে সেটের সব উপাদানের উপর কাজ করে.
অপারেটর বৈশিষ্ট্য (উদাহরণস্বরূপ, একটি পূর্ণসংখ্যা সেট ছাড়াও অপারেশন বিবেচনা) অন্তর্ভুক্ত: সংযোজন ইন্টিজার ওভার হয় বিনিময় করা থেকে 3 + 4 = 4 + 3 (প্লাস (3,4) == প্লাস (4,3)); এবং সংযোজন থেকে ইন্টিজার ওভার মিশুক হতে বলা হয় 3 + (4 + 5) = (3 + 4) + 5 (প্লাস (3, প্লাস (4,5)) == প্লাস (প্লাস (3,4), 5 ))).
Rel বৈশিষ্ট্য. বীজগণিত
এটা একটি মাধ্যমে সমগ্র সম্পর্ক manipulates
অপারেশনের শব্দার্থগতভাবে unambigous সেট (ইডি
Codd 1970).

রিলেশনাল বীজগণিত এর সেট সম্পর্ক এর দ্বারা
এক্সটেনশন (tuples, সারি) এবং অপারেটরদের আছে
পারেন একটি সেট তত্ত্বীয় উৎপত্তি বা সম্পর্ক ওরিয়েন্টেড
আনুকূল্য.

একটি রিলেশনাল বীজগাণিতিক এক্সপ্রেশন ইনপুট এক হিসাবে হয়েছে
(ইউনারী), অথবা দুই (বাইনারি), সম্পর্ক এবং কখনও কখনও একটি
নির্বাচন শর্ত.
যদিও একটি অভিব্যক্তি এর আউটপুট একটি একক সম্পর্ক নেই.

অন্যান্য বৈশিষ্ট্য:

বীজগণিত এর অপারেটরদের সম্পর্ক এর tuples সব কাজ করে;

বীজগণিত একটি পদ্ধতিগত গণনীয় হয়েছে
মডেল;

কিন্তু এটা “”টুরিং সম্পূর্ণ”” নয়, এক একটি লিখতে পারেন
প্যাসকেল প্রোগ্রাম যে জন্য সম্পর্ক manipulates
যা কোন বীজগাণিতিক সমতূল্য.

একটি নির্বাচন অবস্থার বিরুদ্ধে মূল্যায়ন করা হয়েছে
প্রতিটি স্বাধীনভাবে tuple;

একটি একটি বীজগাণিতিক অপারেশন আউটপুট
একটি অনুবর্তী বীজগাণিতিক কাছে গ্রহণযোগ্য ইনপুট
অভিব্যক্তি – এই বলা হয় অভিব্যক্তি
গঠন.

অপারেটর: ইউনিয়ন (বাইনারি)
কি একটি রিলেশনাল বীজগাণিতিক এক্সপ্রেশন টাইপ এবং তার পরিসমাপ্তি সম্পর্ক সম্পর্কে?
– “”ইউনিয়ন”” সামঞ্জস্য দুই সম্পর্কের (ইউসি) একটি বাইনারি মত প্রকাশের জন্য, দুই অংশগ্রহণকারী সম্পর্ক (operands R1 এবং R2 হলো) জন্য অভিব্যক্তি টাইপ সঠিক হতে নিম্নলিখিত কাঠামোগত সীমাবদ্ধতা থাকা আবশ্যক: 1) উভয় সম্পর্ক একই ডিগ্রী আছে ( অর্থাৎ ঢ); ও 2) প্রতিটি অ্যাট্রিবিউট (1 <= আমি <= ঢ) ডোমেইন (R1.Attr_i) = ডোমেইন (R2.Attr_i). একটি অভিব্যক্তি এর ডাটা টাইপ যদি দুটি সম্পর্ক u.c. হয় তারপর পরিসমাপ্তি সম্পর্ক স্কিমা নির্বিচারে নির্বাচিত প্রথম অপার্যান্ড যে হতে হয়. ছাড়া আর অন্য … (অপার্যান্ড নির্দিষ্ট – যেমন, পণ্য অপারেটর) সিম্যান্টিক্স: পরিসমাপ্তি সম্পর্ক সব tuple মধ্যে হয় প্রথম, দ্বিতীয় বা উভয় operands উপস্থিত হয়েছে.
টাইপিং:
পরিসমাপ্তি সম্পর্ক স্কিমা ধরণ হল প্রথম অপার্যান্ড যদি উভয় অপার্যান্ড সম্পর্ক u.c. হয়
স্বরলিপি:
R1 ইউ R2 হলো ইউনিয়ন (R1, R2)
বিনিময় হ্যাঁ মিশুক হ্যাঁ
অপারেটর: পার্থক্য (বাইনারি)
সিম্যান্টিক্স:
পরিসমাপ্তি সম্পর্ক যে দ্বিতীয় অপার্যান্ড উপস্থিত না হয় প্রথম অপার্যান্ড সব tuples অন্তর্ভুক্ত.
টাইপিং:
পরিসমাপ্তি সম্পর্ক স্কিমা ধরণ হল প্রথম অপার্যান্ড যদি উভয় অপার্যান্ড সম্পর্ক u.c. হয়
স্বরলিপি:
R1 – R2 হলো DIFF (R1, R2)
বিনিময় কোন মিশুক কোন
অপারেটর: নির্বাচন (ইউনারী)
সিম্যান্টিক্স:
অপার্যান্ড থেকে সব tuples যে নির্বাচন শর্ত পূরণ প্যাক করে একটি নতুন সম্পর্ক তৈরি করুন.
tuples:
পরিসমাপ্তি সম্পর্ক স্কিমা ধরণ অপার্যান্ড স্কিমা সমতূল্য.
একটি নির্বাচন শর্ত নিম্নলিখিত ফর্ম আছে:
নাম তুলনা বায় আরোপ করে থাকে. ধ্রুবক রয়েছে যার মান বা অ্যাট্রিবিউট নাম তুলনা বায়. নাম গুন
নির্বাচন অবস্থার একটি সিরিজ নির্বাচন CONDITION1 নির্বাচন শর্ত 2 বা নির্বাচন CONDITION1 অথবা নির্বাচন শর্ত 2 হিসেবে মিলিত হতে পারে
আদেশ ডোমেইনের জন্য কিছু টিপিক্যাল তুলনা অপারেটরদের অন্তর্ভুক্ত>, <, ==! =, ইত্যাদি
স্বরলিপি:
(নির্বাচন শর্ত) R1 নির্বাচন (R1, নির্বাচন শর্ত)
বিঃদ্রঃ:
পরিসমাপ্তি অপার্যান্ড একটি উপসেট হয়!

বিনিময় হ্যাঁ মিশুক হ্যাঁ
রিলেশনাল বীজগণিত: অপারেটরস: পণ্য (বাইনারি)
সিম্যান্টিক্স:
একটি কার্টিজিয়ান পণ্য নির্বাহ দ্বারা একটি নতুন সম্পর্ক তৈরি করুন
দুই operands এর.
(R1 এবং R2 হলো এর cardinalities 60000 500 হয় তাহলে
যথাক্রমে, তাদের পণ্যের cardinality 60000 * 500 = হয়
3,000,000!)

টাইপিং:
operands কোনো সম্পর্ক স্কিমা থাকতে পারে. পরিসমাপ্তি সম্পর্ক স্কিমা অপার্যান্ড সম্পর্ক স্কিমা সংযুক্তকরণের সমতূল্য.
স্বরলিপি:
এটি একটি অত্যন্ত কম্পিউটারের গণনার ক্ষেত্রে ব্যয়বহুল
অপারেশন!
এছাড়াও, পরিসমাপ্তি এক্সটেনশন সাধারণত অর্থপূর্ণ নয় !!

বিনিময় হ্যাঁ
মিশুক হ্যাঁ

অপারেটর: প্রক্ষেপণ (ইউনারী)
সিম্যান্টিক্স:
অপার্যান্ড থেকে সরানোর দ্বারা একটি নতুন সম্পর্ক তৈরি করুন সব বৈশিষ্ট্য (এবং পরিণামে তাদের মান) যে অভিক্ষেপ অভিব্যক্তি উল্লেখ করা হয় নি.
টাইপিং:
পরিসমাপ্তি স্কিমা ধরণ অপার্যান্ড স্কিমা কিন্তু অ্যাট্রিবিউট তালিকায় উল্লেখ না বৈশিষ্ট্যাবলী ব্যতীত সমতূল্য.
স্বরলিপি:
(ATTR … X1, …, attr_xn) প্রকল্প (R1, attr_x1, …, attr_xn)
বিঃদ্রঃ:
ডুপ্লিকেট মান পরোক্ষভাবে সরিয়ে ফেলা হয়!
নোট:
প্রকল্পের একটি স্ট্রিং সঙ্গে একটি বীজগাণিতিক এক্সপ্রেশন আমরা দুটি জিনিস ঘটছে আছে – পুনর্গঠন এবং পুনরায় ব্যাপ্ত !! নির্দিষ্ট বীজগাণিতিক হেরফেরের সঙ্গে এক এই সীমাবদ্ধতা কাটিয়ে উঠতে পারে.
(সাধারণ) কোন মিশুক (সাধারণ) কোন বিনিময়
অপারেটরদের সংক্ষিপ্ত সেট
এটা দেখানো যেতে পারে যে উপস্থাপন অপারেটর (বিশেষভাবে নির্বাচন, প্রকল্প, ইউনিয়ন, পার্থক্য এবং পণ্য) এর একটি উপসেট, পর্যাপ্ত, বা সম্পূর্ণ হয় অন্য অপারেটর (ছেদ ইত্যাদি উদাহরণস্বরূপ যোগদান,) বর্ণনা করার জন্য.
সম্পূর্ণ সেট থেকে অপারেটরদের একচেটিয়া ব্যবহারের কিছু প্রাকৃতিক বীজগাণিতিক এক্সপ্রেশন অত্যন্ত অনমনীয় পড়ার জন্য!
উদাহরণস্বরূপ, ছেদ অপারেটর এই ফর্ম রয়েছে:
ছেদ (R1, R2)
DIFF (ইউনিয়ন (R1, R2), ইউনিয়ন (DIFF (R1, R2) (DIFF (R2 হলো, R1))) সমতূল্য
অথবা সমতূল্য
DIFF (R1, DIFF (R1, R2))
কেন একটি বীজগণিত?
একটি সহজ ভাষা
একটি সময় এক্সেস এ সেট
শব্দার্থগতভাবে শব্দ
একই প্রশ্নের যে অন্য রিলেশনাল মডেল ভিত্তিক ভাষা বর্ণনা প্রকাশ
(অর্থাত ঘোষণামূলক রিলেশনাল ক্যালকুলাস)
পদ্ধতিগত
optimisable
ক্যোয়ারী (এক) একটি € “”কোম্পানি
তারপর নাম এবং সব কর্মীদের যারা একটি € ~Researchâ € ™ বিভাগের জন্য কাজ ঠিকানা উদ্ধার করে.
research_dept: = dname নির্বাচন = € ™ Researcgâ € ™ (বিভাগ) a;
research_dept_emps: = সিলেক্ট dnumber = DNO (research_dept পণ্য কর্মচারী);
algl1: = প্রকল্পের fname, lname, ঠিকানা (research_dept_emps);
ক্যোয়ারী (দুই) € “”কোম্পানি
যে একটি ¢ একটি € ~Staffordâ € ™ মধ্যে অবস্থিত প্রকল্প, প্রকল্প সংখ্যা নিয়ন্ত্রণ বিভাগের সংখ্যা, এবং বিভাগের managerâ € ™ গুলি শেষ নাম, ঠিকানা, এবং জন্মতারিখ তালিকা.
স্ট্যাফোর্ড-_projs: = plocation নির্বাচন = একটি € ™ Staffordâ € ™ (প্রকল্প);
Contr_dept: = সিলেক্ট dnum-dnumber (Stafford_projs পণ্য বিভাগ);
proj_dept_mgr: = সিলেক্ট mgrssn = এসএসএন (contr_dept পণ্য কর্মচারী);
alg2: = প্রকল্পের pnumber, dnum, lname, ঠিকানা, bdate (proj_dept_mgr);
ক্যোয়ারী (তিন) একটি € “”কোম্পানি
কর্মচারী যারা সব প্রকল্প বিভাগের সংখ্যা 5 দ্বারা নিয়ন্ত্রিত কাজ নামগুলি খুঁজুন.
Dept5_projs (pno): = প্রকল্পের pnumber (= 5 (প্রকল্প dnum নির্বাচন করুন)); emp_proj (এসএসএন, pno): = প্রকল্পের essn, pno (works_on); emp_proj_ssns: = প্রকল্পের এসএসএন (emp_proj); % Dept5 প্রকল্পে কাজ কর্মচারীদের সকল সম্ভাবনার. ; Poss_emps_dept5 /% এমপ্লয়িজ যে সব dept5 প্রকল্প .. emps_not_dept5 উপর Dona € ™ গুলি কাজ = (পণ্য emp_proj_ssns dept5_projs): = প্রকল্পের এসএসএন (poss_emps_dept5 পার্থক্য emp_proj); result_emp_ssns: = EMP PROJ ssns পার্থক্য emps_not_dept5; alg3: = প্রকল্পের lname, fname (result_emp_ssns কর্মচারী njoin);
ক্যোয়ারী (চার) একটি € “”কোম্পানি
প্রকল্পের যে একজন কর্মী যার নামের শেষাংশ একটি € ~Smithâ € ™ হয় জাগাও, উভয় ক্ষেত্রেই একজন কর্মী হিসেবে বা বিভাগের ব্যবস্থাপক যে প্রকল্পের নিয়ন্ত্রণ হিসাবে প্রকল্প সংখ্যার একটি তালিকা তৈরি কর.
কামারদের (essn): = প্রকল্পের এসএসএন (lname নির্বাচন = একটি € ~Smithâ € ™ (কর্মচারী));
smith_worker_projs: = প্রকল্পের pno (works_on njoin কামারদের);
mgrs: = প্রকল্পের lname, dnumber নির্বাচন (এসএসএন = mgrssn (কর্মচারী পণ্য বিভাগের));
smith_mgrs: = selecy lname = একটি € ™ Smithâ € ™ (mgrs);
smith_managed_depts (dnum): = প্রকল্পের dnumber (smith_mgrs);
smith_mgr_projs (pno): = প্রকল্পের pmumber (প্রকল্প njoin smith_managed_depts);
alg3: = smith_worker_projs ইউনিয়ন smith_mgr_projs;
ক্যোয়ারী (পাঁচ) একটি € “”কোম্পানি
সব কর্মীদের নাম দুই বা ততোধিক পোষ্যরা সঙ্গে তালিকাভুক্ত করা হবে.
% নির্ভরশীলদের সঙ্গে কর্মচারীদের দুই কপি করুন.
Empdep1 (essn, depname1): = প্রকল্পের essn, dependent_name (নির্ভরশীল);
empdep2 (essn2, depname2): = empdep1;
& একাধিক নির্ভরশীল সঙ্গে এমপ্লয়িজ.
Emps_gtone_dep (এসএসএন): = প্রকল্পের essn1 নির্বাচন ((essn = essn2) ও (depname1 <> depname2) (empdep1 পণ্য empdep2));
alg5: = প্রকল্পের lname, fname (emps njoin কর্মচারী) gtone_dep);
ক্যোয়ারী (ছয়) – ব্যবসায়িক
কর্মচারী যারা কোন পোষ্যরা আছে নাম পুনরুদ্ধার.
All_emps: = প্রকল্পের এসএসএন (কর্মচারী); Emps_with_deps (এসএসএন): = প্রকল্পের essn (নির্ভরশীল); Emps_without_deps: = (all_emps
পার্থক্য emps_with_deps); Alg6: = প্রকল্পের lname, fname
(Emps_without_deps কর্মচারী njoin);
ক্যোয়ারী (সাত) একটি € “”কোম্পানি
পরিচালকদের যারা অন্তত একটি নির্ভরশীল আছে নামের লিস্ট.
Mgrssn (এসএসএন): = প্রকল্পের mgrssn (বিভাগ); Emps_with_deps (এসএসএন): = প্রকল্পের essn (নির্ভরশীল); Mgrs_with_deps: = (mgrssn emps_with_deps ছেদ); Alg7: = প্রকল্পের lname, fname
(Mgrs_with_deps কর্মচারী njoin);

“——————————————————————————————————————————————————

prijevod podrška: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
relacijske Algebra
Ono što je Algebra?
algebra (al-je-bre) imenica
matematika
1 A generalizacija aritmetičkih u kojoj simboli, obično slova abecede, predstavljaju brojeve ili članovi određeni skup brojeva i odnose operacijama koje drže za sve brojeve u setu.
2 A set zajedno s operacijama definiran u skupu koji poštuju određenog zakona.
3 Riječ je uveo arapski matematičar al-Khwarizmi (oko 900 AD) i doveo na latinski Robert Chester u 1145.

[Middle English, kosti postavljanje i talijanski, algebra, oba iz Medieval Latin, od arapskog al-jabr je (nauka o) ponovno ujedinjenje:. Al, na + jabr, spajanje, kosti-setting]
Algebarski jezici su uobičajene u računarstvo: Bulova algebra za logiku vrata; i relacijske algebre za DML baze podataka.
Osnovni sastojci algebra su skup (i.e. operand) i operacije (i.e. operatera) koji djeluju na sve elemente skupa.
Operator svojstva (na primjer, uzeti u obzir cijeli set i rad toga) uključuju: Dodatak je komutativna preko cijele brojeve od 3 + 4 = 4 + 3 (plus (3,4) == plus (4,3)); i Dodatak je rekao da je asocijativne preko cijele brojeve od 3 + (4 + 5) = (3 + 4) + 5 (plus (3, plus (4,5)) == plus (plus (3,4), 5 ))).
Karakteristike rel. algebra
On manipulira svim relacijama kroz
semantički nedvosmislena skup operacija (Ed
Codd 1970).

postavlja relacijska algebra su odnos je
produžetak (n-torke, redovi) i operatori imaju
bilo postavljen teorijski porijekla ili vezi orijentiran
uslugu.

A relacijskih algebarski izraz ima kao ulaza jedan
(Unary), ili dva (binarni), odnosi i ponekad
izbor stanje.
Dok izlaz izraz je jedan odnos.

Ostale karakteristike:

operatori algebra je raditi na svim tuples odnosa je;

algebre ima proceduralne računarske
model;

Ali to nije “”Turing kompletan””, može se napiše
Pascal program koji manipuliše odnosa za
koje ne postoji algebarskih ekvivalent.

uslov za izbor mora biti ocijenjen protiv
svaki tuple nezavisno;

izlaz algebarski operacije je
prihvatljivo ulaz na posljedično algebarskih
izraz – to se zove izraz
sastav.

Operatori: Union (binarni)
Šta je sa tipizaciju relacionom algebarski izraz i njegova rezultanta odnosa?
“”UNION”” kompatibilnost (UC) od DVA ODNOSI Za binarni izraz, dvije učesnice odnosa (operandi – R1 i R2) mora imati sljedeće strukturne ograničenja za izraz da bude tip ispravan: 1) i odnosi imaju isti stepen ( odnosno n); I 2) za svaki atribut (1 <= i <= n), domenu (R1.Attr_i) = domena (R2.Attr_i). Tip podataka izraz ako su dva odnosa su u U.Č. ONDA odnos shemu rezultanta je proizvoljno izabran da bude da je prvi operand. ELSE … (operand specifična – npr operatora proizvoda) Semantika: Rezultirajući odnosu ima sve tuple prisutne u bilo prvi, drugi ili oba operanda.
kucanje:
Tip rezultanta odnosa shema je da je prvi operand ako su oba operanda odnosi su u U.Č.
notacija:
R1 U R2 UNION (R1, R2)
komutativna DA asocijativne DA
Operatori: Razlika (binarni)
semantika:
Rezultanta odnosu uključuje sve n-torke prvog operanda koji nisu prisutni u drugi operand.
kucanje:
Tip rezultanta odnosa shema je da je prvi operand ako su oba operanda odnosi su u U.Č.
notacija:
R1 – R2 DIFF (R1, R2)
komutativna NO asocijativne NE
Operatori: Izbor (unary)
semantika:
Stvoriti novi odnos prema vađenje iz operanda sve n-torke koje zadovoljavaju uvjete za izbor.
torke:
Tip rezultanta odnosa shema je ekvivalentna shema operand a.
A stanje izbor ima sljedeći obrazac:
Atributi ime Poređenje op. Konstantna vrijednost ili Atributi ime Poređenje op. atribut ime
Niz uvjeta za izbor mogu biti u kombinaciji kao u odabranim uvjet1 i odaberite condition2 ili izaberite uvjet1 ili izaberite condition2
Neki tipični operateri odnosu na naredio domene uključuju>, <, ==,! =, Itd
notacija:
(Odaberite stanje) R1 SELECT (R1, stanje izbor)
Bilješka:
Nastala je podskup operanda!

komutativna DA asocijativne DA
Relacijske Algebra: Operatori: proizvoda (binarni)
semantika:
Stvoriti novi odnos prema izvršavanja Kartezijev produkt
dva operanda.
(Ako kardinalnosti od R1 i R2 su 60000 i 500
odnosno, kardinalnost njihov proizvod je 60000 * 500 =
3.000.000!)

kucanje:
Operandi može imati nikakve veze shemu. Rezultirajući odnosu shema je ekvivalentna spajanje operanda je odnos shemu.
notacija:
Ovo je izuzetno računski skupo
rad!
Također, rezultanta proširenje nije obično smisla !!

komutativna Da
asocijativna Da

Operatori: Projection (unary)
semantika:
Stvoriti novi odnos uklanjanjem iz operanda sve atribute (a time i njihove vrijednosti) koje se ne spominju u izrazu projekcije.
kucanje:
Tip rezultanta shema je ekvivalentna shema operand, ali bez atributi nisu navedeni na listi atributa.
notacija:
(Atr … x1, …, attr_xn) PROJEKTA (R1, attr_x1, …, attr_xn)
Bilješka:
Duplikat vrijednosti su implicitno uklonjeni!
Dalje Napomene:
U algebarski izraz s nizom projekata imamo dvije stvari događa – restrukturiranje i ponovno proširenje !! Uz određene algebarske manipulacije može se prevladati ta ograničenja.
komutativna (općenito) Nema asocijativne (općenito) Ne
Minimalni skup operatora
Može se pokazati da je podskup predstavio operatora (posebno select, projekt, sindikata, razlike i proizvoda) su adekvatni, ili potpuno, da opiše drugim operatorima (npr pridruže, raskrsnice i sl).
Ekskluzivni korištenje operatora iz komplet napraviti čitanje nekih prirodnih algebarskih izraza izuzetno nepopustljiva!
Na primjer, operator raskrsnici ima ovaj oblik:
RASKRIŽJE (R1, R2)
je ekvivalentno diferencijala (UNION (R1, R2), UNION (razlika (R1, R2), (razlika (R2, R1)))
ili ekvivalent
DIFF (R1, diferencijala (R1, R2))
Zašto algebra?
jednostavan jezik
postavljen u vrijeme pristupa
semantički zvuk
izražava isto upita koji drugi relacijski jezik model baziran opisuje
(I.e. deklarativnog relacijskih račun)
proceduralne
optimisable
Upita (jedan) â € “”Kompanija
Primaj zatim ime i adresu svih zaposlenih koji rade za â € ~Researchâ € ™ odjel.
research_dept: = izaberite dname = â € ™ Researcgâ € ™ (departman);
research_dept_emps: = izaberite dnumber = dno (research_dept zaposleni proizvoda);
algl1: = projekta Fname, Lname, adresa (research_dept_emps);
Upita (dva) â € “”Kompanija
Za svaki projekt nalazi u € ~Staffordâ € ™, navesti broj projekta, kontrolni broj odjela i odjela managera € ™ e prezime, adresu i datum rođenja.
Stafford-_projs: = izaberite plocation = â € ™ Staffordâ € ™ (projekata);
Contr_dept: = izaberite dnum-dnumber (Stafford_projs odjel proizvoda);
proj_dept_mgr: = izaberite mgrssn = SSN (contr_dept zaposleni proizvoda);
alg2: = projekta pnumber, dnum, Lname, adresa, bdate (proj_dept_mgr);
Upita (tri) â € “”Kompanija
Pronađite imena zaposlenih koji rade na svim projektima pod kontrolom odjela broj 5.
Dept5_projs (PNO): = projekta pnumber (odaberite dnum = 5 (projekata)); emp_proj (SSN, PNO): = projekta ESSN, PNO (works_on); emp_proj_ssns: = SSN projekta (emp_proj); % Sve mogućnosti zaposlenih koji rade na dept5 projektima. Poss_emps_dept5: = (dept5_projs emp_proj_ssns proizvoda); /% zaposlenih koji Dona € ™ s rad na svim projektima dept5 .. emps_not_dept5: = projekta SSN (poss_emps_dept5 razlika emp_proj); result_emp_ssns: = EMP proj ssns razlika emps_not_dept5; alg3: = projekta Lname, Fname (result_emp_ssns njoin zaposleni);
Upita (četiri) â € “”Kompanija
Napravite popis brojeva projekta za projekte koji uključuju zaposlenik čije prezime je € ~Smithâ € ™, bilo kao radnik ili kao menadžer Sektora koji upravlja projektom.
Smiths (ESSN): = projekta SSN (odaberite Lname = â € ~Smithâ € ™ (zaposleni));
smith_worker_projs: = projekta pno (works_on njoin Smiths);
MGRS: = projekta Lname, dnumber (odaberite SSN = mgrssn (departman proizvod zaposleni));
smith_mgrs: = selecy Lname = â € ™ Smitha € ™ (MGRS);
smith_managed_depts (dnum): = projekta dnumber (smith_mgrs);
smith_mgr_projs (PNO): = projekta pmumber (smith_managed_depts njoin projekata);
alg3: = smith_worker_projs smith_mgr_projs sindikata;
Upita (pet) â € “”Kompanija
Navedite imena svih zaposlenih sa dva ili više zavise.
% Napravite dva primjerka zaposlenih sa zavise.
Empdep1 (ESSN, depname1): = projekta ESSN, dependent_name (ovisno);
empdep2 (essn2, depname2): = empdep1;
I Zaposleni s više od jedne zavisne.
Emps_gtone_dep (SSN): = projekta essn1 (odaberite (ESSN = essn2) i (depname1 <> depname2) (empdep1 empdep2 proizvod));
alg5: = projekta Lname, Fname (zaposleni njoin EMP) gtone_dep);
Upita (šest) – Preduzeće
Uzmite imena zaposlenih koji nemaju zavise.
All_emps: = projekta SSN (zaposleni); Emps_with_deps (SSN): = projekta ESSN (zavisne); Emps_without_deps: = (all_emps
Razlika emps_with_deps); Alg6: = projekta Lname, Fname
(Emps_without_deps njoin zaposleni);
Upita (sedam) â € “”Kompanija
Navedite imena menadžera koji imaju najmanje jedan ovisna.
Mgrssn (SSN): = projekta mgrssn (departman); Emps_with_deps (SSN): = projekta ESSN (zavisne); Mgrs_with_deps: = (mgrssn seku emps_with_deps); Alg7: = projekta Lname, Fname
(Mgrs_with_deps njoin zaposleni);

“——————————————————————————————————————————————————

Подкрепа превод: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
релационна алгебра
Какво е алгебра?
алгебра (ал-JE-бре) съществително
математика
1 обобщение на аритметиката в който символи, обикновено букви от азбуката, представляват числа или членове на специфичен набор от числа и са свързани с операциите, които държат за всички номера, включени в комплекта.
2 A определя заедно с операциите, определени в комплекта, които се подчиняват на определени закони.
3 Word, въведена с арабския математик ал-Khwarizmi (около 900 г.) и донесе на латински от Робърт на Chester в 1145.

[Близкия английски, костно-настройка и италиански, алгебра, както от Средновековната латински, от арабски Ал Джабер, на (наука за), обединяваща:. Ал г. + Джабер, събиране, костно-настройка]
Алгебрични езици са често срещани в изчислителни: Булева алгебра за порти логика; и релационна алгебра за ГСД база данни.
Основни съставки на алгебра са набор (т.е. операнд) и операции (т.е. оператори), които действат върху всички елементи на комплекта.
свойства на оператора (например смятат цяло число определя и експлоатацията на допълнение) включва: Добавка е комутативен над целите числа, тъй като 3 + 4 = 4 + 3 (плюс (3,4) == плюс (4,3)); и добавяне се казва, че асоциативен през числа от 3 + (4 + 5) = (3 + 4) + 5 (плюс (3, плюс (4,5)) == плюс (плюс (3,4), 5 ))).
Характеристики на Отн. алгебра
Тя манипулира цели отношения чрез
семантично unambigous набор от операции (Ed
Codd 1970).

Задава релационна алгебра са най връзка те години
удължители (кортежи, редове) и операторите имат
или с определен теоретичен произход или връзка ориентирани
услуга.

А релационна алгебрични израз има като входове един
(Едноместно), или два (двоичен), отношения, а понякога и по-
състояние избор.
Докато изход израз е единична връзка.

Други характеристики:

оператори на алгебра е работа на всички кортежи до отношенията му;

алгебра има процесуална изчислителна
модел;

Но това не е “”Тюринг пълна””, може да се напише
Pascal програма, която манипулира отношения за
които няма алгебрични еквивалент.

условие за избор трябва да бъдат оценени на фона
всеки кортеж независимо;

на изхода на алгебрична операция е
приемлив принос за последващо алгебрични
изразяване – това се нарича израз
състав.

Оператори: Съюз (двоичен)
Какво ще кажеш за типизирането на релационна алгебрични изразяване и неговата получената връзката?
“”UNION”” съвместимост (UC) от две ОТНОШЕНИЯ За двоичен изразяване, двете участващи отношения (операнди – R1 и R2) трябва да имат следните структурни ограничения за изразяването да бъде тип правилно: 1) и двете отношения имат същата степен ( т.е. н); & 2) за всеки атрибут (1 <= I <= N), домейна (R1.Attr_i) = домейн (R2.Attr_i). ТИПА НА ДАННИ НА израз, ако двете отношения са в u.c. След това отношение схемата на получения е произволно избрана да бъде, че на първия операнд. ИНАЧЕ … (операнд специфичен – например оператор продукт) Семантика: Получената връзка има всички кортеж присъства нито в първата, втората или и двата операнда.
Typing:
Видът на получения схемата на отношение е, че на първия операнд, ако и двата операнда отношения са в u.c.
нотация:
R1 U R2 СЪЮЗ (R1, R2)
комутативен YES асоциативен YES
Оператори: Разлика (двоичен)
семантика:
Получената връзка включва всички кортежи на първия операнд, които не присъстват във втория операнд.
Typing:
Видът на получения схемата на отношение е, че на първия операнд, ако и двата операнда отношения са в u.c.
нотация:
R1 – R2 Разлика (R1, R2)
комутативен NO асоциативен NO
Оператори: Selection (едноместно)
семантика:
Създаване на нова връзка чрез извличане от операнда всички кортежи, които отговарят на условията за подбор.
кортежи:
Видът на получения схемата на отношение е еквивалентна схема операнда е.
Условие за селекция има следния вид:
Името на атрибута Сравнение оп. Постоянна стойност или Умение име Сравнение оп. името на атрибута
A серия от условия за подбор може да се комбинира както в изберете CONDITION1 и изберете CONDITION2 или изберете CONDITION1 или да изберете CONDITION2
Някои типични оператори сравнение за поръчани домейни включват>, <, ==,! =, И т.н.
нотация:
(Изберете състояние) R1 SELECT (R1, условие за избор)
Забележка:
Полученият е подмножество на операнда!

комутативен YES асоциативен YES
Релационна алгебра: Оператори: Продукт (двоичен)
семантика:
Създаване на нова връзка с изпълнение на декартово произведение
на два операнда.
(Ако cardinalities от R1 и R2 са 60000 и 500
съответно, кардиналност техния продукт е 60000 * 500 =
3,000,000!)

Typing:
Операндите могат да имат някаква връзка схема. Получената Схемата на връзка е еквивалентна на конкатенацията на връзка схема операнда е.
нотация:
Това е изключително скъпо изчисления
операция!
Също така, полученият разширението обикновено не е смислено !!

комутативен Да
асоциативен Да

Оператори: Projection (едноместно)
семантика:
Създаване на нова връзка, като премахва от операнда всички атрибути (и следователно техните стойности), които не са споменати в израз на проекция.
Typing:
Видът на получения схемата е еквивалентно на схема операнда, но без признаци не са посочени в списъка на атрибута.
нотация:
(ATTR … x1, …, attr_xn) PROJECT (R1, attr_x1, …, attr_xn)
Забележка:
Дублиращи стойности са имплицитно отстранени!
Допълнителни бележки:
В алгебричен израз с поредица от проекти, имаме две неща се случват – преструктуриране и повторно удължаване !! С някои алгебрични манипулации могат да се преодолеят тези ограничения.
комутативен (като цяло) № асоциативен (като цяло) №
Минимален набор от оператори
Може да се покаже, че една част от представените оператори (конкретно за избор, проекта, съюз, разликата и продукт) са адекватни, или пълно, за да се опише останалите оператори (например присъединят, пресичане и т.н.).
Изключителното използване на оператори от пълния набор четенето някои природни алгебрични изрази изключително непреклонна!
Например, операторът на кръстовище има тази форма:
Пресечната точка (R1, R2)
е еквивалентна на DIFF (Union (R1, R2), Съюз (Diff (R1, R2), (Diff (R2, R1)))
или еквивалентни на
Разлика (R1, Разлика (R1, R2))
Защо алгебра?
прост език
настроена на достъпа време
семантично звук
изразява същите заявки, че друг релационния модел базиран език описва
(Т.е. на декларативно релационна смятане)
процедурно
optimisable
Query (един) â € “”Фирма
Изтегли след името и адреса на всички служители, които работят за един отдел на € ~Researchâ € ™.
research_dept: = изберете dname = â € ™ Researcgâ € ™ (отдел);
research_dept_emps: = изберете dnumber = DNO (research_dept продукт на наети лица);
algl1: = fname проект, lname, адрес (research_dept_emps);
Query (два) â € “”Фирма
За всеки проект, разположен в € ~Staffordâ € ™, избройте номера на проекта, номер на контролния отдел и отдел managerâ € ™ е последното име, адрес и дата на раждане.
Стафорд-_projs: = изберете plocation = â € ™ Staffordâ € ™ (проекти);
Contr_dept: = изберете dnum-dnumber (Stafford_projs отдел продукт);
proj_dept_mgr: = изберете mgrssn = SSN (contr_dept служител продукт);
alg2: = проект pnumber, dnum, lname, адрес, bdate (proj_dept_mgr);
Query (три) â € “”Фирма
Намери имената на служителите, които работят по всички проекти, управлявани от отдел номер 5.
Dept5_projs (PNO): = проект pnumber (изберете dnum = 5 (проекти)); emp_proj (SSN, PNO): = проект мрежата ESSN, PNO (works_on); emp_proj_ssns: = SSN проект (emp_proj); % Всички възможности на служителите, работещи по dept5 проекти. Poss_emps_dept5: = (dept5_projs emp_proj_ssns продукт); /% Служителите, които мадама € ™ е работа на всички dept5 проекти .. emps_not_dept5: = SSN проект (poss_emps_dept5 разлика emp_proj); result_emp_ssns: = EMP PROJ ssns разлика emps_not_dept5; alg3: = проект lname, fname (result_emp_ssns njoin служител);
Query (четири) â € “”Фирма
Направете списък на номера на проекта за проекти, които включват един служител, чиято фамилия е € ~Smithâ € ™, или като работник или на ръководител на отдел, който контролира проекта.
Smiths (мрежата ESSN): = проекта SSN (изберете lname = â € ~Smithâ € ™ (служител));
smith_worker_projs: = PNO проект (works_on njoin ковачи);
mgrs: = lname проект, dnumber (изберете SSN = mgrssn (служител отдел продукт));
smith_mgrs: = selecy lname = â € ™ Smithâ € ™ (mgrs);
smith_managed_depts (dnum): = dnumber проект (smith_mgrs);
smith_mgr_projs (PNO): = pmumber проект (smith_managed_depts njoin проекти);
alg3: = smith_worker_projs съюза smith_mgr_projs;
Query (пет) â € “”Фирма
Изброят имената на всички служители с две или повече лица.
% Направете две копия на служители с издръжка.
Empdep1 (мрежата ESSN, depname1): = проект мрежата ESSN, dependent_name (зависима);
empdep2 (essn2, depname2): = empdep1;
& Наети лица с повече от един зависим.
Emps_gtone_dep (SSN): = essn1 проект (изберете (мрежата ESSN = essn2) и (depname1 <> depname2) (empdep1 продукт empdep2));
alg5: = lname проект, fname (служител njoin ПУОС) gtone_dep);
Query (шест) – Фирма
Извличане на имената на служителите, които нямат Зависими.
All_emps: = SSN проект (служител); Emps_with_deps (SSN): = мрежата ESSN проект (зависима); Emps_without_deps: = (all_emps
Разлика emps_with_deps); Alg6: = lname проект, fname
(Emps_without_deps njoin служител);
Query (седем) â € “”Фирма
Изброят имената на мениджърите, които имат най-малко един зависим.
Mgrssn (SSN): = mgrssn проект (отдел); Emps_with_deps (SSN): = мрежата ESSN проект (зависима); Mgrs_with_deps: = (mgrssn пресичат emps_with_deps); Alg7: = lname проект, fname
(Mgrs_with_deps njoin служител);

“——————————————————————————————————————————————————

traducció de suport: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
àlgebra relacional
Què és un àlgebra?
àlgebra (al-je-BRE) substantiu
matemàtiques
1 Una generalització de l’aritmètica en què els símbols, en general les lletres de l’alfabet, els números representen o membres d’un conjunt específic de nombres i estan relacionades per les operacions que mantenen per a tots els nombres en el conjunt.
2 Un conjunt juntament amb les operacions definides en el conjunt que obeeixen les lleis específiques.
3 Paraula introduïda pel matemàtic àrab Al-Khwarizmi (circa 900 dC) i portat a Amèrica per Robert de Chester a 1145.

[Anglès Mitjà, os-ajust i l’italià, l’àlgebra, tant des del llatí medieval, de l’àrab al-Jabr, el (la ciència de) reunir: al., El + jabr, la reunificació, amb os configuració]
llenguatges algebraics són comuns en la informàtica: l’àlgebra de Boole per a portes lògiques; i l’àlgebra relacional per LMD base de dades.
ingredients bàsics d’un àlgebra són un conjunt (és a dir operant) i operacions (és a dir, els operadors) que actuen sobre tots els elements del conjunt.
propietats d’operador (per exemple, consideren un nombre enter establert i l’operació d’addició) inclouen: L’addició és commutativa sobre els nombres sencers des del 3 + 4 = 4 + 3 (més (3,4) == més (4,3)); L’addició i es diu que és associativa sobre els sencers des del 3 + (4 + 5) = (3 + 4) + 5 (més (3, més (4,5)) == més (més (3,4), 5 ))).
Característiques de la Rel. àlgebra
Es manipula relacions senceres a través d’una
conjunt semànticament inequívoca de les operacions (Ed
Codd 1970).

conjunts de l’àlgebra relacional són la relació de
extensió (tuples, files) i els operadors tenen
o bé un origen o una relació teòrica establir orientats
afavorir.

Una expressió algebraica relacional té com entrades 1
(Unari), o dues (binària), les relacions i, de vegades un
condició de selecció.
Mentre que la producció d’una expressió és una sola relació.

Altres característiques:

els operadors de l’àlgebra treballen en totes les tuples de la relació;

l’àlgebra té una computacional processal
model;

Però no és “”Turing completa””, es pot escriure
Pascal programa per a gestionar les relacions de
el qual no hi ha un equivalent algebraic.

una condició de selecció ha de ser avaluat contra
Cada tupla de forma independent;

la sortida d’una operació algebraica és una
d’entrada acceptable per al consegüent algebraica
expressió – això es diu expressió
composició.

Operadors: Unió (binari)
Què passa amb la tipificació d’una expressió algebraica relacional i la seva relació resultant?
“”UNION”” COMPATIBILITAT (UC) de dues relacions Per a una expressió binària, els dos participants de relacions (operands – R1 i R2) ha de tenir les següents limitacions estructurals perquè l’expressió sigui de tipus correcte: 1) les relacions de tots dos tenen el mateix grau ( és a dir, n); I 2) per a cada atribut (1 <= i <= n), el domini (R1.Attr_i) = domini (R2.Attr_i). El tipus de dades d’una expressió de si les dues relacions són en u.c. A continuació, l’esquema de la relació de la resultant és arbitrària escollida per ser la del primer operant. ELSE … (operant específica – per exemple, operador del producte) semàntica: La relació resultant té tota la tupla present ja sigui en el primer, el segon o els dos operands.
escrivint:
El tipus d’esquema de la relació resultant és la del primer operant si ambdues relacions d’operands són a u.c.
notació:
R1 R2 T UNIÓ (R1, R2)
commutativa associatiu SÍ SÍ
Operadors: Diferència (binari)
semàntica:
La relació resultant inclou totes les tuples del primer operant que no estan presents en el segon operant.
escrivint:
El tipus d’esquema de la relació resultant és la del primer operant si ambdues relacions d’operands són a u.c.
notació:
R1 – R2 DIFF (R1, R2)
NO NO commutativa associatiu
Operadors: Selecció (unari)
semàntica:
Crear una nova relació mitjançant l’extracció del operant totes les tuples que satisfan les condicions de selecció.
tuples:
El tipus de l’esquema de la relació resultant és equivalent a l’esquema de l’operand.
Una condició de selecció té la següent manera:
Comparació atribut de nom op. valor constant o atribut Comparació op. nom de l’atribut
Una sèrie de condicions de selecció podria combinar-se com a condició1 de selecció i seleccioneu condició2 o seleccioneu condició1 o seleccioneu condició2
Alguns operadors de comparació típics per als dominis ordenats inclouen>, <, == ,! =, Etc
notació:
(Seleccioneu condició) R1 SELECT (R1, condició de selecció)
Nota:
El resultant és un subconjunt de l’operand!

commutativa associatiu SÍ SÍ
Àlgebra Relacional: Operadors: Producte (binari)
semàntica:
Crear una nova relació mitjançant l’execució d’un producte cartesià
dels dos operands.
(Si les cardinalitats de R1 i R2 són 60000 i 500
respectivament, cardinalitat del seu producte és 60000 * 500 =
3.000.000!)

escrivint:
Els operands poden tenir qualsevol esquema de relació. L’esquema de la relació resultant és equivalent a la concatenació d’esquema de relació del operant.
notació:
Aquest és un element molt costós computacionalment
l’operació!
A més, l’extensió resultant generalment no és significativa !!

sí commutativa
sí associatiu

Operadors: Projecció (unari)
semàntica:
Crear una nova relació amb la retirada del operant tots els atributs (i en conseqüència, els seus valors) que no s’esmenten en l’expressió de projecció.
escrivint:
El tipus de l’esquema resultant és equivalent a l’esquema del operant però amb exclusió d’atributs que no s’esmenten en la llista d’atributs.
notació:
(Hot … x1, …, attr_xn) PROJECTE (R1, attr_x1, …, attr_xn)
Nota:
Els valors duplicats s’eliminen de forma implícita!
Altres indicacions:
En una expressió algebraica amb una sèrie de projectes que tenim dues coses passant – reestructuració i re-estén !! Amb certes manipulacions algebraiques es pot superar aquestes restriccions.
commutativa (en general) no associatiu (en general) No
conjunt mínim d’operadors
Es pot demostrar que un subconjunt dels operadors presentats (en concret, el selectiu, projectes, unió, diferència i producte) són adequats, o completa, per descriure els altres operadors (per exemple, unir-se, intersecció, etc.).
L’ús exclusiu dels operadors de tot el conjunt faci la lectura en algunes expressions algebraiques naturals extremadament inflexible!
Per exemple, l’operador d’intersecció té aquesta forma:
INTERSECCIÓ (R1, R2)
és equivalent a DIFF (UNION (R1, R2), UNIÓ (DIFF (R1, R2), (DIFF (R2, R1)))
o equivalents a
DIFF (R1, DIFF (R1, R2))
Per què un àlgebra?
un llenguatge senzill
fixat en un temps d’accés
so semànticament
expressa les mateixes consultes que un altre llenguatge basat en el model relacional descriu
(És a dir, el càlcul relacional declarativa)
processal
optimisable
Consulta (un) â € “”Empresa
Recuperar continuació, el nom i direcció de tots els empleats que treballen per al departament de â € ~ Researchâ € ™.
research_dept: = seleccionar dname = â € ™ Researcgâ € ™ (departament);
research_dept_emps: = seleccionar NUMEROD = DNO (research_dept empleats del producte);
algl1: = fnombre projecte, lname, adreça (research_dept_emps);
Consulta (dos) â € “”Empresa
Per a cada projecte es troba en â € ~ Staffordâ € ™, anoteu el nombre de projectes, el nombre departament de control, i el departament de managerâ € ™ s cognom, adreça i data de naixement.
Stafford-_projs: = seleccionar plocation = â € ™ Staffordâ € ™ (projectes);
Contr_dept: = seleccionar dnum-NUMEROD (departament de producte Stafford_projs);
proj_dept_mgr: = seleccionar mgrssn = SSN (contr_dept empleat del producte);
ALG2: = projecte pnumber, dnum, lname, adreça, BDate (proj_dept_mgr);
Consulta (tres) â € “”Empresa
Trobar els noms dels empleats que treballen en tots els projectes controlats per nombre de departament 5.
Dept5_projs (PNO): = pnumber projecte (seleccioni dnum = 5 (projectes)); emp_proj (SSN, PNO): = ESSN projecte, Pno (TRABAJA_EN); emp_proj_ssns: SSN = projecte (emp_proj); Totes les possibilitats% dels empleats que treballen en projectes dept5. Poss_emps_dept5: = (dept5_projs emp_proj_ssns de productes); /% Empleats que la senyora € ™ s de treball en tots els projectes dept5 .. emps_not_dept5: = projecte de la drassana (poss_emps_dept5 diferència emp_proj); result_emp_ssns: = emp diferència SSN proj emps_not_dept5; ALG3: = projecte lname, fnombre (result_emp_ssns njoin empleat);
Consulta (quatre) â € “”Empresa
Feu una llista de números de projecte per a projectes que impliquen un empleat de cognom â € ~ Smithâ € ™, ja sigui com a treballador o com a gerent del departament que controla el projecte.
Smiths (ESSN): SSN = projecte (seleccionar lname = â € ~ Smithâ € ™ (empleat));
smith_worker_projs: = projecte Pno (TRABAJA_EN njoin Smiths);
mg: = projecte lname, NUMEROD (SSN = seleccionar mgrssn (departament de producte emprat));
smith_mgrs: = selecy lname = â € smitha € ™ ™ (mg);
smith_managed_depts (dnum): = (projecte NUMEROD smith_mgrs);
smith_mgr_projs (PNO): = (projecte pmumber smith_managed_depts njoin projectes);
ALG3: = smith_worker_projs smith_mgr_projs unió;
Consulta (cinc) â € “”Empresa
Llista dels noms de tots els empleats amb dos o més dependents.
% Feu dues còpies dels empleats amb persones a càrrec.
Empdep1 (ESSN, depname1): = ESSN projecte, dependent_name (dependent);
empdep2 (essn2, depname2): = empdep1;
Els empleats i amb més d’un dependent.
Emps_gtone_dep (SSN): = essn1 projecte (seleccioni (ESSN = essn2) i (depname1 <> depname2) (empdep1 producte empdep2));
alg5: = lname projecte, fnombre (emprat njoin EMP) gtone_dep);
Consulta (sis) – Empresa
Recuperar els noms dels empleats que no tenen dependents.
All_emps: = projecte de la drassana (empleat); Emps_with_deps (SSN): = ESSN projecte (depenent); Emps_without_deps: = (all_emps
emps_with_deps diferència); Alg6: = lname projecte, fnombre
(Emps_without_deps njoin empleat);
Consulta (set) â € “”Empresa
Llista dels noms dels gerents que tenen almenys un dependent.
Mgrssn (SSN): = mgrssn projecte (departament); Emps_with_deps (SSN): = ESSN projecte (depenent); Mgrs_with_deps: = (mgrssn creuen emps_with_deps); ALG7: = lname projecte, fnombre
(Mgrs_with_deps njoin empleat);

“——————————————————————————————————————————————————

Support hubad: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
relasyon sa algebra
Unsa ang usa ka sa algebra?
sa algebra (al-je-bre) nombre
mathematics
1 Ang usa ka generalization sa aritmetik nga simbolo, kasagaran mga letra sa alpabeto, nagrepresentar sa mga numero o mga sakop sa usa ka piho nga hugpong sa mga numero ug may kalabutan sa mga operasyon nga naghupot sa tanan nga mga numero diha sa set.
2 Ang usa ka ibutang uban sa operasyon gihubit diha sa set nga mosunod sa espesipikong mga balaod.
3 Pulong gipaila-ila sa Arabo matematiko nga al-Khwarizmi (circa 900 AD) ug gidala ngadto sa Latin ni Robert sa Chester sa 1145.

[Middle Iningles, bukog-kahimtang ug Italyano, sa algebra, ang duha gikan sa Karaang Latin, gikan sa Arabiko al-jabr, ang (siyensiya sa) paghiusa. Al, ang + jabr, paghiusa pag-usab, bukog-nga kahimtang]
Algebraic pinulongan komon sa Computing: Boolean algebra alang sa katarungan mga ganghaan; ug pakigsandurot sa algebra alang sa database DML.
Basic sagol sa usa ka sa algebra mao ang usa ka set (pananglitan operand) ug operasyon (pananglitan operators) nga molihok sa tanan nga mga elemento sa set.
Operator kabtangan (alang sa panig-ingnan, tagda ang usa ka integer gibutang, ug ang mga Dugang pa nga operasyon) naglakip sa: Dugang pa mao commutative sa ibabaw sa mga integers sukad sa 3 + 4 = 4 + 3 (plus (3,4) == plus (4,3)); ug Dugang giingon nga nakig uban sa mga integers sukad sa 3 + (4 + 5) = (3 + 4) + 5 (plus (3, plus (4,5)) == plus (plus (3,4), 5 ))).
Kinaiya sa rel. algebra
Kini gimani- obra tibuok nga relasyon pinaagi sa usa ka
semantically unambigous set sa operasyon (Ed
Codd 1970).

set sa relasyon sa algebra ni mao ang mga relasyon sa
extension (tuples, laray nga gihulma) ug ang mga operators
bisan sa usa ka gibutang sa pinasukad sa teoriya nga gigikanan o sa relasyon oriented
pabor.

Ang usa ka relasyon algebra ekspresyon adunay ingon nga inputs sa usa ka
(Unary), o duha ka (duha), mga relasyon ug usahay sa usa ka
pagpili nga kahimtang.
Samtang output usa ka ekspresyon mao ang usa ka single nga relasyon.

Ang ubang mga Kinaiya:

operators sa algebra sa pagtrabaho sa tanan nga mga tuples sa relasyon ni;

ang sa algebra nga adunay usa ka pamaagi computational
modelo;

Apan kini mao ang dili “”Turing bug-os””, ang usa ka tawo sa pagsulat sa usa ka
Pascal programa nga gimani- obra sa relasyon alang sa
nga walay algebra katumbas.

usa ka kahimtang nga pagpili adunay nga evaluate batok sa
matag tuple sa kinaugalingon;

ang output sa usa ka algebra nga operasyon mao ang usa ka
madawat nga input ngadto sa usa ka miresulta sa algebra
ekspresyon – kini mao ang gitawag nga ekspresyon
komposisyon.

Operators: Union (duha)
Unsa ang mahitungod sa pagtayp sa usa ka relasyon sa algebra nga ekspresyon ug ang misangpot nga relasyon?
“”Union”” pagkaangay (uc) sa DUHA ka RELASYON Kay sa usa ka duha ekspresyon, ang duha ka pag-apil sa relasyon (operands – R1 ug R2) kinahanglan nga ang mga mosunod nga mga structural pagpilit alang sa ekspresyon nga mahimong matang husto: 1) ang duha mga relasyon sa mga sama nga degree ( ie n); & 2) alang sa matag hiyas nga (1 <= i <= n), ang domain (R1.Attr_i) = domain (R2.Attr_i). ANG DATA MATANGA SA USA KA Ekspresyon ni KON sa duha ka mga relasyon sa u.c. Unya ang relasyon eskema sa sangputanan nga mao ang arbitraryong pinili nga nga sa unang operand. LAING … (operand piho nga – pananglitan produkto operator) semantiko: Ang mosangpot nga relasyon ang tanang tuple karon sa bisan hain sa una, ang ikaduha o sa duha operands.
pagtayp:
Ang matang sa mosangpot nga relasyon eskema mao nga sa unang operand kon ang duha operand relasyon sa u.c.
nota:
R1 U R2 Union (R1, R2)
commutative YES nakig uban OO
Operators: Kalainan (duha)
semantiko:
Ang sangputanan nga relasyon naglakip sa tanan nga mga tuples sa unang operand nga dili karon sa ikaduha nga operand.
pagtayp:
Ang matang sa mosangpot nga relasyon eskema mao nga sa unang operand kon ang duha operand relasyon sa u.c.
nota:
R1 – R2 kalainan (R1, R2)
commutative WALAY nakig uban DILI
Operators: Pagpili (unary)
semantiko:
Create sa usa ka bag-o nga relasyon pinaagi sa pagkuha gikan sa operand sa tanan nga mga tuples nga sa pagtagbaw sa mga kahimtang sa pagpili.
Tuples:
Ang matang sa mosangpot nga relasyon eskema mao ang katumbas sa eskema sa operand ni.
Usa ka kahimtang pagpili adunay mosunod nga nga porma:
Nagtuo nga ngalan pagtandi op. Kanunay nga bili o Ipasidungog ngalan pagtandi op. nagtuo nga ang ngalan
Ang usa ka serye sa mga kahimtang Selection mahimong inubanan sama sa pinili nga condition1 UG pinili nga condition2 o pinili nga condition1 O pinili nga condition2
Ang ubang mga tipikal nga pagtandi operators alang sa nagmando kabilin naglakip sa>, <, ==,! =, Etc
nota:
(Pinili nga kahimtang) R1 Pagpili (R1, pagpili kahimtang)
Mubo nga sulat:
sangputanan nga mao ang usa ka subset sa operand!

commutative YES nakig uban OO
Relasyon sa algebra: Operators: Product (duha)
semantiko:
Create sa usa ka bag-o nga relasyon pinaagi sa pagtuman sa sa usa ka Cartesian produkto
sa duha ka operands.
(Kon ang mga cardinalities sa R1 ug R2 mga 60000 ug 500
sa tinagsa, cardinality ilang produkto maoy 60000 * 500 =
3,000,000!)

pagtayp:
Ang operands makabaton sa bisan unsa nga relasyon eskema. Ang sangputanan nga relasyon eskema mao ang katumbas sa concatenation sa relasyon eskema sa operand ni.
nota:
Kini mao ang usa ka hilabihan computationally mahal
operasyon!
Usab, ang mga sangputanan nga extension dili kasagaran makahuluganon !!

commutative Oo
nakig uban Oo

Operators: projection (unary)
semantiko:
Create sa usa ka bag-o nga relasyon pinaagi sa pagwagtang gikan sa operand sa tanan nga mga hiyas (ug sa ingon ang ilang mga mithi) nga wala gihisgotan sa prodyeksyon ekspresyon.
pagtayp:
Ang matang sa mosangpot nga eskema mao ang katumbas sa eskema sa operand apan labot hiyas wala gihisgotan sa listahan hiyas.
nota:
(Attr … x1, …, attr_xn) PROYEKTO (R1, attr_x1, …, attr_xn)
Mubo nga sulat:
Hulad, kopya mga prinsipyo nga sa bug-os nga gikuha!
Dugang pa Mubo nga mga sulat:
Sa usa ka algebra ekspresyon sa usa ka hilo sa mga proyekto nga kita adunay duha ka mga butang adto sa – restructuring ug re-gitunol !! Uban sa pipila ka mga algebraic manipulations sa usa mabuntog niini nga mga pagdili.
commutative (sa kinatibuk-) Walay nakig uban (sa kinatibuk-) Dili
Dyutay nga hugpong sa mga operators
Kini mahimong gipakita nga ang usa ka subset sa mga gipresentar operators (ilabi na sa pinili, proyekto, panaghiusa, kalainan ug produkto) sa mga igo nga, o bug-os, sa paghulagway sa ubang mga operators (alang sa panig-ingnan moapil, intersection etc).
Ang bug-os nga paggamit sa mga operators gikan sa bug-os nga set ang imong pagbasa sa pipila ka mga natural nga algebraic mga ekspresyon hilabihan dili matarug!
Kay sa panig-ingnan, ang intersection operator adunay niini nga matang:
Intersection (R1, R2)
mao ang katumbas sa kalainan (Union (R1, R2), Union (kalainan (R1, R2), (kalainan (R2, R1)))
o katumbas sa
Diff (R1, kalainan (R1, R2))
Nganong ang usa ka sa algebra?
sa usa ka yano nga pinulongan
gibutang sa usa ka panahon access
semantically tingog
nagpahayag sa mao usab nga mga pangutana nga ang laing relasyon modelo base pinulongan naghulagway
(Pananglitan sa mapahayagon nga relasyon calculus)
procedural
optimisable
Pangutana (usa) â € “”Company
Pagkuha unya ngalan ug address sa tanan nga mga empleyado nga nagtrabaho alang sa â € ~Researchâ € ™ departamento.
research_dept: = pinili nga dname = â € ™ Researcgâ € ™ (departamento);
research_dept_emps: = pinili nga dnumber = dno (research_dept produkto empleyado);
algl1: = proyekto fname, lname, address (research_dept_emps);
Pangutana (duha) â € “”Company
Kay ang tagsatagsa nga proyekto nga nahimutang sa â € ~Staffordâ € ™, ilista ang gidaghanon Project, ang pagkontrol sa departamento gidaghanon, Ug sa departamento sa managerâ € ™ s katapusan nga ngalan, address, Ug ang adlaw nga natawhan.
Stafford-_projs: = pinili nga plocation = â € ™ Staffordâ € ™ (mga proyekto);
Contr_dept: = pinili dnum-dnumber (Stafford_projs produkto sa departamento);
proj_dept_mgr: = pinili nga mgrssn = ssn (contr_dept produkto empleyado);
alg2: = proyekto pnumber, dnum, lname, address, bdate (proj_dept_mgr);
Pangutana (sa tulo ka) â € “”Company
Pangitaa ang mga ngalan sa mga empleyado nga nagtrabaho sa tanan nga mga proyekto kontrolado sa departamento sa numero 5.
Dept5_projs (pno): = proyekto pnumber (pagpili dnum = 5 (mga proyekto)); emp_proj (ssn, pno): = proyekto essn, pno (works_on); emp_proj_ssns: = proyekto ssn (emp_proj); % Ang tanan nga mga posibilidad sa mga empleyado nga nagtrabaho sa dept5 mga proyekto. Poss_emps_dept5: = (dept5_projs emp_proj_ssns produkto); /% Employees nga Doña € ™ sa buhat sa tanan nga mga proyekto dept5 .. emps_not_dept5: = proyekto ssn (poss_emps_dept5 kalainan emp_proj); result_emp_ssns: = EMP proj ssns kalainan emps_not_dept5; alg3: = proyekto lname, fname (result_emp_ssns njoin empleyado);
Pangutana (upat ka) â € “”Company
Paghimo og usa ka lista sa mga numero nga proyekto alang sa mga proyekto nga Iapil ang usa ka empleyado kansang katapusan nga ngalan mao ang â € ~Smithâ € ™, Bisan ingon sa usa ka trabahante o ingon nga usa ka manager sa Department nga kontrol sa proyekto.
Mga Smith (essn): = proyekto ssn (pagpili lname = â € ~Smithâ € ™ (empleyado));
smith_worker_projs: = proyekto pno (works_on njoin panday sa puthaw);
mgrs: = proyekto lname, dnumber (pagpili ssn = mgrssn (empleyado produkto sa departamento));
smith_mgrs: = selecy lname = â € ™ Smithâ € ™ (mgrs);
smith_managed_depts (dnum): = proyekto dnumber (smith_mgrs);
smith_mgr_projs (pno): = proyekto pmumber (smith_managed_depts njoin mga proyekto);
alg3: = smith_worker_projs unyon smith_mgr_projs;
Pangutana (lima ka) â € “”Company
Ilista ang mga ngalan sa tanan nga mga empleyado sa duha ka o labaw pa nga mga Dependent.
% Paghimo duha ka kopya sa mga empleyado sa mga dependents.
Empdep1 (essn, depname1): = proyekto essn, dependent_name (nagsalig);
empdep2 (essn2, depname2): = empdep1;
& Employees uban sa labaw pa kay sa usa ka nagsalig.
Emps_gtone_dep (ssn): = proyekto essn1 (pagpili (essn = essn2) ug (depname1 <> depname2) (empdep1 produkto empdep2));
alg5: = proyekto lname, fname (empleyado njoin emps) gtone_dep);
Pangutana (unom ka) – Company
Kuhaon ang mga ngalan sa mga empleyado nga walay mga Dependent.
All_emps: = proyekto ssn (empleyado); Emps_with_deps (ssn): = proyekto essn (nagsalig); Emps_without_deps: = (all_emps
Kalainan emps_with_deps); Alg6: = proyekto lname, fname
(Emps_without_deps njoin empleyado);
Pangutana (pito) â € “”Company
Ilista ang mga ngalan sa mga managers nga sa labing menos usa ka nagsalig.
Mgrssn (ssn): = proyekto mgrssn (departamento); Emps_with_deps (ssn): = proyekto essn (nagsalig); Mgrs_with_deps: = (mgrssn motadlas emps_with_deps); Alg7: = proyekto lname, fname
(Mgrs_with_deps njoin empleyado);

“——————————————————————————————————————————————————

Support kumasulira: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
Chiyanjano ajebura
ndi ajebura n’chiyani?
ajebura (al-Yehoasi-bre) nauni
masamu
1 A generalization ya masamu imene zizindikiro zambiri zilembo, kuimira manambala kapena mamembala a akonzedwa enieni a manambala ndipo zokhudzana ndi ntchito akugwira kwa manambala onse Anatipatsa.
2 A palimodzi ndi ntchito akufotokozera akonzedwa kuti kumvera malamulo yake.
3 Mawu anayambitsa ndi Arab masamu al-Khwarizmi (cha m’ma 900 AD) ndi anandibweretsera ku Latin ndi Robert wa Chester mu 1145.

[Middle English, mafupa kolowera ndi Chitaliyana, ajebura, zochokera Medieval Latin, kuchokera Arabic al-jabr, ndi (sayansi ya) ndikulilumikizanso. Al kuti + jabr, reunification, mafupa kolowera]
m’zinenero Algebraic anenera mu kompyuta: Buliyani ajebura kwa zipata mfundo; ndi Chiyanjano ajebura kwa DML Nawonso achichepere.
zosakaniza Basic wa ajebura ndizo akonzedwa (i.e. operand) ndi ntchito (i.e. ntchito) kuti kuchita zinthu zonse Anatipatsa.
katundu woyendetsa (Mwachitsanzo, taganizirani inteja kukhala ndi machitidwe Kuwonjezera) monga: Kuwonjezera ndi commutative pa integers kuyambira 3 + 4 = 4 + 3 (kuphatikiza (3,4) == kuphatikiza (4,3)); ndi Kuwonjezera akuti ndi associative pa integers kuyambira 3 + (4 + 5) = (3 + 4) + 5 (kuphatikiza (3, kuphatikiza (4,5)) == kuphatikiza (kuphatikiza (3,4), 5 ))).
Makhalidwe a Asareli. ajebura
Iwo manipulates kugona lonse kupyolera
semantically unambigous ya ntchito (Ed
Codd 1970).

Amakhazikitsa ubale ajebura ndi ubale ndi
kutambasuka (tuples, mizere) ndi ntchito ali
mwina anapereka chiyambi theoretic kapena ubale zochokera
mtima.

A ubale algebraic akuti ali ngati zolowetsa wina
(Unary), kapena awiri (bayinare), kugona ndipo nthawi zina
kusankha chikhalidwe.
Pamene linanena bungwe kumasonyeza ndi ubale umodzi.

Zikhalidwe zina:

ntchito ya ajebura ndi ntchito zonse tuples ubale ndi;

ndi ajebura ali ndi zowerengera procedural
chitsanzo;

Koma si “”Turing amphumphu””, munthu kulemba
Pascal pulogalamu kuti manipulates kugona chifukwa
imene palibe lofanana algebraic.

chikhalidwe kusankha ayenera ayesedwa motsutsa
aliyense tuple paokha;

linanena bungwe la opareshoni algebraic ndi
zovomerezeka athandizira ku algebraic kuipa
mawu – uyu wotchedwa Mawu
zikuchokera.

Ntchito: Union (bayinare)
Nanga bwanji kalembedwe wa ubale algebraic akuti ndi ubale wake chake?
“”UNION”” ngakhale (UC) ubale awiri mawu bayinare, awiri nawo anagona (operands – R1 ndi R2) ayenera zotsatirazi zopinga structural kwa mawu kukhala mtundu olondola: 1) anagona onse ali mlingo yemweyo ( mwachitsanzo n); & 2) lililonse chikhumbo (1 <= ine <= n), ankalamulira (R1.Attr_i) = ankalamulira (R2.Attr_i). Deta MTUNDU kumasonyeza ngati ndi kugona awiri ali u.c. Ndiye ubale chithunzithunzi cha chotsatira ndi umasinthasintha anasankhidwa kuti a operand choyamba. WINA … (operand enieni – mwachitsanzo mankhwala woyendetsa) manenedwe: The ubale chake ali tuple onse amene mwina loyamba, lachiwiri kapena operands onse.
kalembedwe:
Mtundu wa chake ubale chithunzithunzi ndi wa operand choyamba ngati kugona onse operand ali u.c.
kalembedwe:
R1 U R2 UNION (R1, R2)
commutative INDE associative INDE
Ntchito: Kusiyana (bayinare)
manenedwe:
The ubale chake zikuphatikizapo tuples onse a operand yoyamba kuti si alipo operand wachiwiri.
kalembedwe:
Mtundu wa chake ubale chithunzithunzi ndi wa operand choyamba ngati kugona onse operand ali u.c.
kalembedwe:
R1 – R2 DIFF (R1, R2)
commutative NO associative NO
Ntchito: Kusankha (unary)
manenedwe:
Pangani ubale watsopano kutenga kuchokera operand ndi tuples onse kukwaniritsa zinthu kusankha.
Tuples:
Mtundu wa chake ubale chithunzithunzi ndi ofanana ndi chithunzithunzi cha operand ali.
A chikhalidwe kusankha ali mawonekedwe zotsatirazi:
Am’patse dzina Kuyerekezera uthenga ulalikidwa. mtengo nthawi zonse kapena M’patseni dzina Kuyerekezera uthenga ulalikidwa. am’patse dzina
A mndandanda wa zinthu Kusankha akanakhoza pamodzi monga osankhika condition1 ndi kusankha condition2 kapena sankhani condition1 OR sankhani condition2
Ena lililonse poyerekeza ntchito kwa madambwe analamula monga>, <, ==! =, Etc
kalembedwe:
(Osankhika chikhalidwe) R1 Sankhani (R1, kusankha chikhalidwe)
Zindikirani:
The chake ndi kagawo wa operand ndi!

commutative INDE associative INDE
Chiyanjano ajebura: ntchito: Mankhwala (bayinare)
manenedwe:
Pangani ubale watsopano akamadzapereka mankhwala Cartesian
wa operands awiri.
(Ngati cardinalities wa R1 ndi R2 ndi 60000 ndi 500
motero, cardinality katundu ndi 60000 * 500 =
3,000,000!)

kalembedwe:
The operands akhoza chithunzithunzi chilichonse ubale. The chake ubale chithunzithunzi ndi zofanana concatenation mgwirizano chithunzithunzi cha operand ali.
kalembedwe:
Izi ndi kwambiri computationally mtengo
ntchito!
Komanso, kutambasuka chake si kawirikawiri watanthauzo !!

commutative Yes
associative Yes

Ntchito: ziyerekezo (unary)
manenedwe:
Pangani ubale watsopano ndi akuchotsa operand zotsatira onse (ndipo potsatira mfundo awo) amene sanatchulidwe ziyerekezo mawu.
kalembedwe:
Mtundu wa chithunzithunzi chake ndi ofanana ndi chithunzithunzi cha operand koma kupatulapo makhalidwe sanatchulidwe pa mndandanda lingaliro.
kalembedwe:
(Attr … x1, …, attr_xn) Project (R1, attr_x1, …, attr_xn)
Zindikirani:
makhalidwe chibwereza ndi mtima wonse anachotsa!
Mfundo zina:
Kuwonetsera algebraic ndi chingwe ntchito tili ndi zinthu ziwiri zikuchitika – kukonzanso ndi kukonzanso anakafika !! Ndi ena mwai algebraic munthu angathe kuthetsa malamulo amenewa.
commutative (mu general) No associative (mu general) No
Kochepa ya ntchito
Zitha kuoneka kuti kagawo wa ntchito akaonekera (makamaka sankhani, ntchito, mgwirizano, kusiyana ndi mankhwala) ndi okwanira, kapena wathunthu, pofotokoza ntchito zina (Mwachitsanzo agwirizane, mphambano etc).
Ntchito yekha wa ntchito kwa lonse kuwerenga zina zachilengedwe algebraic mawu yoipa kwambiri!
Mwachitsanzo, mphambano woyendetsa ali fomu iyi:
Mphambano (R1, R2)
Matanthawuzo kuti DIFF (UNION (R1, R2), UNION (DIFF (R1, R2), (DIFF (R2, R1)))
kapena lofanana
DIFF (R1, DIFF (R1, R2))
Chifukwa ndi ajebura?
ndi osavuta
upatsidwa ndi kupeza nthawi
semantically phokoso
akufotokoza mafunso omwewo kuti wina ubale chitsanzo zochokera chinenero limafotokoza
(I.e. ndi declarative ubale kakyulasi)
procedural
optimisable
Afunsa (mmodzi) â € “”Company
Akatenge dzina ndi adiresi ya antchito onse amene ntchito kuti â € ~Researchâ € ™ dipatimenti.
research_dept: = sankhani dname = â € ™ Researcgâ € ™ (dipatimenti);
research_dept_emps: = sankhani dnumber = dno (research_dept mankhwala wantchito);
algl1: = ntchito fname, lname, adiresi (research_dept_emps);
Afunsa (awiri) â € “”Company
Pakuti aliyense polojekiti ili mu â € ~Staffordâ € ™, lembani Project number, ndi kulamulira number dipatimenti, Ndipo dipatimenti managerâ mâ € ™ lomaliza dzina, adiresi, Ndipo birthdate.
Salima-_projs: = sankhani plocation = â € ™ Staffordâ € ™ (ntchito);
Contr_dept: = sankhani dnum-dnumber (Stafford_projs mankhwala dipatimenti);
proj_dept_mgr: = sankhani mgrssn = ssn (contr_dept mankhwala wantchito);
alg2: = ntchito pnumber, dnum, lname, adiresi, bdate (proj_dept_mgr);
Afunsa (zitatu) â € “”Company
Kupeza mayina a ogwira ntchito amene amagwira ntchito pa ntchito zonse zimene ndi dipatimenti nambala 5.
Dept5_projs (pno): = ntchito pnumber (kusankha dnum = 5 (ntchito)); emp_proj (ssn, pno): = ntchito essn, pno (works_on); emp_proj_ssns: = ntchito ssn (emp_proj); % Onse mwayi wa antchito ntchito pa ntchito dept5. Poss_emps_dept5: = (dept5_projs mankhwala emp_proj_ssns); /% Wogwila kuti donâ mâ € ™ ntchito zonse ntchito dept5 .. emps_not_dept5: = ntchito ssn (poss_emps_dept5 kusiyana emp_proj); result_emp_ssns: = emp proj ssns kusiyana emps_not_dept5; alg3: = ntchito lname, fname (result_emp_ssns njoin wantchito);
Afunsa (inayi) â € “”Company
Lembani manambala polojekiti ntchito kuti azilankhulapo wantchito dzina lotsiriza ndi â € ~Smithâ € ™, kaya wogwira ntchito kapena ngati woyang’anira Dipatimenti kuti amalamulira polojekiti.
Amisiri azitsulo (essn): = ntchito ssn (kusankha lname = â € ~Smithâ € ™ (wantchito));
smith_worker_projs: = ntchito pno (works_on njoin amisiri azitsulo);
mgrs: = ntchito lname, dnumber (kusankha ssn = mgrssn (wogwira ntchito mankhwala dipatimenti));
smith_mgrs: = selecy lname = â € ™ Smithâ € ™ (mgrs);
smith_managed_depts (dnum): = ntchito dnumber (smith_mgrs);
smith_mgr_projs (pno): = ntchito pmumber (smith_managed_depts njoin ntchito);
alg3: = smith_worker_projs mgwirizano smith_mgr_projs;
Afunsa (zisanu) â € “”Company
Lembani maina a ogwira ntchito onse amene amadalira awiri kapena kuposa.
% Pangani mapepala awiri antchito ndi amadalira.
Empdep1 (essn, depname1): = ntchito essn, dependent_name (yozungulira);
empdep2 (essn2, depname2): = empdep1;
& Wogwila ndi oposa yozungulira.
Emps_gtone_dep (ssn): = ntchito essn1 (kusankha (essn = essn2) ndi (depname1 <> depname2) (empdep1 mankhwala empdep2));
alg5: = ntchito lname, fname (wantchito njoin emps) gtone_dep);
Afunsa (zisanu) – Company
Kupeza mayina a ogwira ntchito amene alibe amadalira.
All_emps: = ntchito ssn (wantchito); Emps_with_deps (ssn): = ntchito essn (yozungulira); Emps_without_deps: = (all_emps
Kusiyana emps_with_deps); Alg6: = ntchito lname, fname
(Emps_without_deps njoin wantchito);
Afunsa (zisanu ndi ziwiri) â € “”Company
Lembani maina a Mabwana Oyang’anira amene ali mmodzi yozungulira.
Mgrssn (ssn): = ntchito mgrssn (dipatimenti); Emps_with_deps (ssn): = ntchito essn (yozungulira); Mgrs_with_deps: = (mgrssn intersect emps_with_deps); Alg7: = ntchito lname, fname
(Mgrs_with_deps njoin wantchito);

“——————————————————————————————————————————————————

支持翻译:http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
关系代数
什么是代数?
代数(AL-JE-BRE)名词
数学
1算法的推广,其中的符号,通常是英文字母,代表数字或特定组数字的成员,并持有在集中的所有数字操作是相关的。
2表示与在遵守规定的法律定义集合在一起的操作设置。
3字阿拉伯数学家AL-花拉子米(约公元900年)提出,并在1145带来了成拉丁语切斯特的罗伯特。

[中古英语,跌打和意大利,代数,无论是从中世纪拉丁语,阿拉伯语AL-贾布尔的(科学)团聚:人的+贾布尔,统一,跌打]
代数语言在计算具有共同的逻辑门布尔代数;和关系代数数据库DML。
一个代数的基本成分是一组(即操作数),并且在该组中的所有元素起作用的操作(即,操作者)。
操作者的属性(例如,考虑一个整数集和加法运算)包括:加法是在整数可交换自3 + 4 = 4 + 3(加(3,4)==加(4,3));和加法被说成是自缔以上整数3 +(4 + 5)=(3 + 4)+ 5(加(3,加(4,5))==加(加(3,4),5 )))。
在相对的特点。代数
它通过操纵一个完整的关系
语义unambigous组操作(埃德
科德1970)。

关系代数的集之间的关系的
扩展(元组,行)和运营商有
无论是集理论渊源或关系导向
青睐。

一个关系代数表达式作为一个输入
(一元)或两个(二元)关系,有时
选择条件。
而表达式的输出是单个关系。

其他特性:

代数的运营商的所有关系的元组的工作;

代数有一个程序的计算
模型;

但它不是“图灵完备”,可以写一
帕斯卡尔程序操纵的关系
其中没有代数当量。

选择条件具有抵抗待评估
各自独立元组;

代数操作的输出是一个
可接受输入到随后的代数
表达 – 这就是所谓的表达
组成。

公司经营范围:联盟(二进制)
怎么样一个关系代数表达式的类型及其产生的关系是什么?
的两个关系“联盟”兼容性(UC)对于一个二进制表达式,两个参与的关系(操作数 – R1和R2)必须具有以下结构限制的表达是正确的类型:1)双方关系具有相同的学位(即N); &2)为每个属性(1 <= I <= n)时,域(R1.Attr_i)=域(R2.Attr_i)。的表达的数据类型如果这两个关系是U.C.然后将所得的关系模式是任意选择为与第一操作数。 ELSE …(具体操作 – 例如产品的运营商)的语义:生成的关系有存在的所有或者第一,第二或两个操作数的元组。
打字:
类型所得关系模式的是,第一个操作数的,如果这两个操作数的关系是在U.C.
符号:
R1 R2üUNION(R1,R2)
可交换YES YES关联
公司经营范围:差(二进制)
语义:
所得关系包括不存在于第二个操作数中的第一操作数的所有元组。
打字:
类型所得关系模式的是,第一个操作数的,如果这两个操作数的关系是在U.C.
符号:
R 1 – R 2 DIFF(R1,R2)
可交换NO NO关联
运营商:选择(一元)
语义:
通过创建从操作数提取满足选择条件的所有元组的新关系。
元组:
类型所得关系模式的等同于操作数的架构。
选择条件有以下形式:
属性名称比较运算。常数或属性名称比较运算。属性名
一系列的选择条件,可以合并为选择条件1,选择条件2或选择条件1或选择条件2
一些典型的比较操作有序域包括>,<,==,!=等
符号:
(选择条件)R1 SELECT(R1,选择条件)
注意:
所得的是操作数的一子集!

可交换YES YES关联
关系代数:运营商:产品(二进制)
语义:
通过执行笛卡尔乘积创建一个新的关系
的两个操作数。
(如果R1和R2的基数是60000和500
分别,他们的产品的基数是60000 * 500 =
300万!)

打字:
操作数可以有任何关系模式。所得关系模式等同于操作数的关系模式的串联。
符号:
这是一个极其耗费计算
操作!
另外,所得到的扩展通常不是有意义!!

交换是
联想是

公司经营范围:投影(一元)
语义:
通过从操作数除去创建一个新的关系未在投影表达提到的所有属性(以及因此它们的值)。
打字:
类型所得的架构的等同于操作数的模式,但不包括属性列表中未提及的属性。
符号:
(ATTR … X1,…,attr_xn)项目(R1,attr_x1,…,attr_xn)
注意:
重复的值被隐式删除!
更多注意事项:
在项目字符串的代数表达式,我们有两件事情怎么回事 – 重组和再延伸!对于某些代数运算可以克服这些限制。
可交换(一般)否缔(一般)否
最小的运算符
可以示出,所提出的运算(具体地选择,项目,工会,差异和产品)的一个子集是充分,或完整,以描述其它运营商(例如加入,路口等)。
独家采用由一套完整的运营商让阅读一些自然的代数表达式,非常不屈!
例如,交叉操作者具有以下形式:
交点(R1,R2)
相当于DIFF(UNION(R1,R2),联合(DIFF(R1,R2),(DIFF(R2,R1)))
或等同的
DIFF(R1,DIFF(R1,R2))
为什么一个代数?
一种简单的语言
设置在一个时间访问
语义上的声音
表达了另一个关系基于模型的语言描述了相同的查询
(即声明关系演算)
程序
optimisable
查询(一个)–公司
检索然后命名,谁对A€~Research’部门工作的所有员工的地址。
research_dept:=选择DNAME = A€™Researcg’(部门);
research_dept_emps:=选择dnumber = DNO(research_dept产品的员工);
algl1:=项目FNAME,LNAME,地址(research_dept_emps);
查询(二)–公司
对于位于€~Stafford’每一个项目,列出项目数量,控制部门编号,部门manager’的最后一个名称,地址,和出生日期。
斯塔福德_projs:=选择plocation = A€™Stafford’(项目);
Contr_dept:=选择dnum-dnumber(Stafford_projs产品部);
proj_dept_mgr:=选择mgrssn = SSN(contr_dept产品的员工);
ALG2:=项目pnumber,dnum,LNAME,地址,bdate(proj_dept_mgr);
查询(三级)–公司
查找谁对部门5号控制的所有项目工作的员工的名字。
Dept5_projs(PNO):=项目pnumber(选择dnum = 5(项目)); emp_proj(SSN,PNO):=项目ESSN,PNO(works_on); emp_proj_ssns:=项目SSN(emp_proj); %的员工对dept5项目工作所有的可能性。 Poss_emps_dept5:=(dept5_projs产品emp_proj_ssns); /%的员工认为唐娜所有dept5项目.. emps_not_dept5€™的工作:=项目SSN(poss_emps_dept5差异emp_proj); result_emp_ssns:= EMP凸出核潜艇差异emps_not_dept5; ALG3:=项目LNAME,FNAME(result_emp_ssns njoin员工);
查询(4件)–公司
使工程号码列表对于涉及雇员的姓氏是一个€~Smith’,无论是作为工人还是作为部门经理,控制工程项目。
史密斯(ESSN):=项目SSN(选择LNAME = A€~Smith’(员工));
smith_worker_projs:=项目PNO(works_on njoin铁匠);
MGRS:=项目LNAME,dnumber(SSN选择= mgrssn(员工产品部));
smith_mgrs:= selecy LNAME = A€™Smith’(MGRS);
smith_managed_depts(dnum):=项目dnumber(smith_mgrs);
smith_mgr_projs(PNO):=项目pmumber(smith_managed_depts njoin项目);
ALG3:= smith_worker_projs工会smith_mgr_projs;
查询(五)个€“公司
有两个或两个以上的受抚养列出所有员工的姓名。
%使员工的两份与家属。
Empdep1(ESSN,depname1):=项目ESSN,dependent_name(依赖);
empdep2(essn2,depname2):= empdep1;
与员工与多个依赖。
Emps_gtone_dep(SSN):=项目essn1(选择(ESSN = essn2)和(depname1 <> depname2)(empdep1产品empdep2));
ALG5:=项目LNAME,FNAME(员工njoin EMPS)gtone_dep);
查询(SIX) – 公司
检索谁没有被抚养雇员的姓名。
All_emps:=项目SSN(员工); Emps_with_deps(SSN):=项目ESSN(依赖); Emps_without_deps:=(all_emps
差异emps_with_deps); ALG6:=项目LNAME,FNAME
(emps_without_deps njoin员工);
查询(7件)–公司
谁列出至少有一个依赖管理人员的名字。
Mgrssn(SSN):=项目mgrssn(部门); Emps_with_deps(SSN):=项目ESSN(依赖); Mgrs_with_deps:=(mgrssn相交emps_with_deps); Alg7:=项目LNAME,FNAME
(mgrs_with_deps njoin员工);

“——————————————————————————————————————————————————

支持翻譯:http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
關係代數
什麼是代數?
代數(AL-JE-BRE)名詞
數學
1算法的推廣,其中的符號,通常是英文字母,代表數字或特定組數字的成員,並持有在集中的所有數字操作是相關的。
2表示與在遵守規定的法律定義集合在一起的操作設置。
3字阿拉伯數學家AL-花拉子米(約公元900年)提出,並在1145帶來了成拉丁語切斯特的羅伯特。

[中古英語,跌打和意大利,代數,無論是從中世紀拉丁語,阿拉伯語AL-賈布爾的(科學)團聚:人的+賈布爾,統一,跌打]
代數語言在計算具有共同的邏輯門布爾代數;和關係代數數據庫DML。
一個代數的基本成分是一組(即操作數),並且在該組中的所有元素起作用的操作(即,操作者)。
操作者的屬性(例如,考慮一個整數集和加法運算)包括:加法是在整數可交換自3 + 4 = 4 + 3(加(3,4)==加(4,3));和加法被說成是自締以上整數3 +(4 + 5)=(3 + 4)+ 5(加(3,加(4,5))==加(加(3,4),5 )))。
在相對的特點。代數
它通過操縱一個完整的關係
語義unambigous組操作(埃德
科德1970)。

關係代數的集之間的關係的
擴展(元組,行)和運營商有
無論是集理論淵源或關係導向
青睞。

一個關係代數表達式作為一個輸入
(一元)或兩個(二元)關係,有時
選擇條件。
而表達式的輸出是單個關係。

其他特性:

代數的運營商的所有關係的元組的工作;

代數有一個程序的計算
模型;

但它不是“圖靈完備”,可以寫一
帕斯卡爾程序操縱的關係
其中沒有代數當量。

選擇條件具有抵抗待評估
各自獨立元組;

代數操作的輸出是一個
可接受輸入到隨後的代數
表達 – 這就是所謂的表達
組成。

公司經營範圍:聯盟(二進制)
怎麼樣一個關係代數表達式的類型及其產生的關係是什麼?
的兩個關係“聯盟”兼容性(UC)對於一個二進制表達式,兩個參與的關係(操作數 – R1和R2)必須具有以下結構限制的表達是正確的類型:1)雙方關係具有相同的學位(即N); &2)為每個屬性(1 <= I <= n)時,域(R1.Attr_i)=域(R2.Attr_i)。的表達的數據類型如果這兩個關係是U.C.然後將所得的關係模式是任意選擇為與第一操作數。 ELSE …(具體操作 – 例如產品的運營商)的語義:生成的關係有存在的所有或者第一,第二或兩個操作數的元組。
打字:
類型所得關係模式的是,第一個操作數的,如果這兩個操作數的關係是在U.C.
符號:
R1 R2üUNION(R1,R2)
可交換YES YES關聯
公司經營範圍:差(二進制)
語義:
所得關係包括不存在於第二個操作數中的第一操作數的所有元組。
打字:
類型所得關係模式的是,第一個操作數的,如果這兩個操作數的關係是在U.C.
符號:
R 1 – R 2 DIFF(R1,R2)
可交換NO NO關聯
運營商:選擇(一元)
語義:
通過創建從操作數提取滿足選擇條件的所有元組的新關係。
元組:
類型所得關係模式的等同於操作數的架構。
選擇條件有以下形式:
屬性名稱比較運算。常數或屬性名稱比較運算。屬性名
一系列的選擇條件,可以合併為選擇條件1,選擇條件2或選擇條件1或選擇條件2
一些典型的比較操作有序域包括>,<,==,!=等
符號:
(選擇條件)R1 SELECT(R1,選擇條件)
注意:
所得的是操作數的一子集!

可交換YES YES關聯
關係代數:運營商:產品(二進制)
語義:
通過執行笛卡爾乘積創建一個新的關係
的兩個操作數。
(如果R1和R2的基數是60000和500
分別,他們的產品的基數是60000 * 500 =
300萬!)

打字:
操作數可以有任何關係模式。所得關係模式等同於操作數的關係模式的串聯。
符號:
這是一個極其耗費計算
操作!
另外,所得到的擴展通常不是有意義!!

交換是
聯想是

公司經營範圍:投影(一元)
語義:
通過從操作數除去創建一個新的關係未在投影表達提到的所有屬性(以及因此它們的值)。
打字:
類型所得的架構的等同於操作數的模式,但不包括屬性列表中未提及的屬性。
符號:
(ATTR … X1,…,attr_xn)項目(R1,attr_x1,…,attr_xn)
注意:
重複的值被隱式刪除!
更多注意事項:
在項目字符串的代數表達式,我們有兩件事情怎麼回事 – 重組和再延伸!對於某些代數運算可以克服這些限制。
可交換(一般)否締(一般)否
最小的運算符
可以示出,所提出的運算(具體地選擇,項目,工會,差異和產品)的一個子集是充分,或完整,以描述其它運營商(例如加入,路口等)。
獨家採用由一套完整的運營商讓閱讀一些自然的代數表達式,非常不屈!
例如,交叉操作者具有以下形式:
交點(R1,R2)
相當於DIFF(UNION(R1,R2),聯合(DIFF(R1,R2),(DIFF(R2,R1)))
或等同的
DIFF(R1,DIFF(R1,R2))
為什麼一個代數?
一種簡單的語言
設置在一個時間訪問
語義上的聲音
表達了另一個關係基於模型的語言描述了相同的查詢
(即聲明關係演算)
程序
optimisable
查詢(一個)–公司
檢索然後命名,誰對A€~Research’部門工作的所有員工的地址。
research_dept:=選擇DNAME = A€™Researcg’(部門);
research_dept_emps:=選擇dnumber = DNO(research_dept產品的員工);
algl1:=項目FNAME,LNAME,地址(research_dept_emps);
查詢(二)–公司
對於位於€~Stafford’每一個項目,列出項目數量,控制部門編號,部門manager’的最後一個名稱,地址,和出生日期。
斯塔福德_projs:=選擇plocation = A€™Stafford’(項目);
Contr_dept:=選擇dnum-dnumber(Stafford_projs產品部);
proj_dept_mgr:=選擇mgrssn = SSN(contr_dept產品的員工);
ALG2:=項目pnumber,dnum,LNAME,地址,bdate(proj_dept_mgr);
查詢(三級)–公司
查找誰對部門5號控制的所有項目工作的員工的名字。
Dept5_projs(PNO):=項目pnumber(選擇dnum = 5(項目)); emp_proj(SSN,PNO):=項目ESSN,PNO(works_on); emp_proj_ssns:=項目SSN(emp_proj); %的員工對dept5項目工作所有的可能性。 Poss_emps_dept5:=(dept5_projs產品emp_proj_ssns); /%的員工認為唐娜所有dept5項目.. emps_not_dept5€™的工作:=項目SSN(poss_emps_dept5差異emp_proj); result_emp_ssns:= EMP凸出核潛艇差異emps_not_dept5; ALG3:=項目LNAME,FNAME(result_emp_ssns njoin員工);
查詢(4件)–公司
使工程號碼列表對於涉及僱員的姓氏是一個€~Smith’,無論是作為工人還是作為部門經理,控制工程項目。
史密斯(ESSN):=項目SSN(選擇LNAME = A€~Smith’(員工));
smith_worker_projs:=項目PNO(works_on njoin鐵匠);
MGRS:=項目LNAME,dnumber(SSN選擇= mgrssn(員工產品部));
smith_mgrs:= selecy LNAME = A€™Smith’(MGRS);
smith_managed_depts(dnum):=項目dnumber(smith_mgrs);
smith_mgr_projs(PNO):=項目pmumber(smith_managed_depts njoin項目);
ALG3:= smith_worker_projs工會smith_mgr_projs;
查詢(五)個€“公司
有兩個或兩個以上的受撫養列出所有員工的姓名。
%使員工的兩份與家屬。
Empdep1(ESSN,depname1):=項目ESSN,dependent_name(依賴);
empdep2(essn2,depname2):= empdep1;
與員工與多個依賴。
Emps_gtone_dep(SSN):=項目essn1(選擇(ESSN = essn2)和(depname1 <> depname2)(empdep1產品empdep2));
ALG5:=項目LNAME,FNAME(員工njoin EMPS)gtone_dep);
查詢(SIX) – 公司
檢索誰沒有被撫養僱員的姓名。
All_emps:=項目SSN(員工); Emps_with_deps(SSN):=項目ESSN(依賴); Emps_without_deps:=(all_emps
差異emps_with_deps); ALG6:=項目LNAME,FNAME
(emps_without_deps njoin員工);
查詢(7件)–公司
誰列出至少有一個依賴管理人員的名字。
Mgrssn(SSN):=項目mgrssn(部門); Emps_with_deps(SSN):=項目ESSN(依賴); Mgrs_with_deps:=(mgrssn相交emps_with_deps); Alg7:=項目LNAME,FNAME
(mgrs_with_deps njoin員工);

“——————————————————————————————————————————————————

Traduction: Support: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
of àlgibbra
Cosa hè un àlgibbra?
l ‘àlgibbra (al-je-min) nome
matematica
1 A generalisation di Aritmetica, in cui li sìmmuli e, n gèniri lèttiri di l’alfabbetu, rapprisintari nùmmura, o membri di un gruppu specifichi di numari è sò riguardanti da u funziunamentu chì vale per tutti i numari in u gruppu.
2 A pona nsemmula cu u funziunamentu definitu in u ghjocu chì stanu à sente liggi pricisatu.
3 Parolla introduttu da matimaticu àrabba Al-Khwarizmi (all’incirca 900 dC) è purtatu nantu à ‘n Latinu par Robert di Chester in 1145.

[Middle English, bon-a curcari e talianu, l ‘àlgibbra, sia da latina medievale, di l’ àrabbu al-jabr, la (di scienza di) reuniting:. A al, u + jabr, riunificazzioni, bon-a curcari]
Lingua Pira sò cumuni in informatica: àlgibbra value di e porte la lòggica; e l ‘àlgibbra of di DML basa di dati.
Sbuchjate e cipolle è tecnicu di un ‘àlgibbra sunnu nu gruppu (i.e. operand) è u funziunamentu (i.e. uperatori) chi agisce nantu à tutti l’elementi di u gruppu.
proprietà di Operator (per esempiu, cunziddirati nu nteru stabilitu, è hè andata à Campu Tondu) incrudunu: veneciana hè commutative supra lu integers dipoi 3 + 4 = 4 + 3 (plus (3,4) == aimé (4,3)); e veneciana si dici di essiri associative supra lu integers dipoi 3 + (4 + 5) = (3 + 4) + 5 (plus (3, pluma (4,5)) == aimé (plus (3,4), 5 ))).
Caratteristiche di u francese rel. L ‘àlgibbra
Hè manipulassions intera rilazzioni à traversu un
ghjocu semantical unambigous di u funziunamentu (Ed
Codd, 1970).

serii di l’àlgibbra SEWING sunnu li rilazzioni d’
curtzu (tuples, filari) è l ‘uperatori sò
sia d ‘urìggini theoretic crià o trattendu orientatu
piaciri.

A spressione algebbrica SEWING ca havi comu unu inputs
(Uperatori), o dui (binariu), culligamenti è qualchì volta un
cundizione selezzione.
Mentri pruduzzioni litteraria d’una spressione è una sola rilazioni.

Altri Carattirìstichi:

uperatori di l’àlgibbra travagliu nantu à tutti di tuples l’industria;

l ‘àlgibbra hà un programming cumbugliu
modellu;

Ma ùn hè mancu “”Turing cumpletu””, unu pò scrìviri na
prugrammi Pascal ca manipulassions rilazzioni di
chi ùn ci hè nudda equivalenti algebbrica.

una cundizione di scelta hè per esse rivalutatu contru à
ogni tuple indipindente;

i pruduzzioni litteraria di un funziunamentu algebbrica hè un
Poloniana accittabbili à un consequent algebbrica
espressione – stu veni chiamatu espressione
cumpusizioni.

Uperatori: Union (binariu)
Chi m’interessa di lu sconfitta di na sprissioni algebbrica SEWING e la sò rilazzioni resultant?
“”UNION”” VINCENTI (ab) di DUI PASCAGOULA Per una spressione binariu, i dui participannu a li rilazzioni (operands – R1 e R2) devi avè i servizii custrizzione strutturale di l ‘esprissioni pi èssiri tipu sicilianu currettu: 1) tramindui li rilazzioni aviri lu stissu gradu ( Per indettu, n); & 2) per ogni attribuilla (1 <= i <= n), i Goti (R1.Attr_i) = discùtinu (R2.Attr_i). A DATA TYPE DI AN expression d’topu li dui dî rilazzioni sò in u.c. Allora u Schema trattendu di u resultant è arbitrariu oramai à esse quella di u primu operand. Folie … (operand identitariu – p.e. operatore Product) straniere: A relazione resultant hà tutti i tuple prisente in sonai a lu primu, lu secunnu, o sia operands.
Cinquième:
U tippu di u Schema trattendu resultant hè quiddu di u primu operand s’è tutti dui li rilazzioni operand sò in u.c.
n’elimentu:
R1 R2 U UNION (R1, R2)
commutative YES YES associative
Uperatori: U Casamentu (binariu)
straniere:
A rilazzioni resultant cumprenni tutti li tuples di i primi operand ca nun sunnu prisenti à u sicondu operand.
Cinquième:
U tippu di u Schema trattendu resultant hè quiddu di u primu operand s’è tutti dui li rilazzioni operand sò in u.c.
n’elimentu:
R1 – R2 Diff (R1, R2)
NO commutative NO associative
Uperatori: Bianchi (uperatori)
straniere:
Crea un novu trattendu di estrazzione da u operand tutti tuples chì suddisfari li cunnizzioni di scelta.
Tuples:
U tippu di u Schema trattendu resultant è equivalenti à Schema di l’operand.
A sola cundizione di scelta hè l ‘cchìstu forma:
Attribuisci Cognome: paragùni op. valuri Constant o attribuisci Nome: paragùni op. attribuisci nomu
A seria di e cundizioni Sec putissi èssiri misu comu a pezzu condition1 AND pezzu condition2 o pezzu condition1 OR pezzu condition2
Certi uperatori tipica paraguni di domini urdinau a cumprendi>, <, ==,! =, Etc.
n’elimentu:
(Pezzu cundizione) R1 Scegli (R1, cundizione selezzione)
Nutate bè:
U resultant hè un subset di u operand!

commutative YES YES associative
Of àlgibbra: uperatori: Product (binariu)
straniere:
Crea un novu trattendu di trarimentu un pruduttu di usu dî
di i dui operands.
(Si lu cardinalities di R1 R2 e sunnu 60000 e 500
rispittivamenti, cardinality di u so pruduttu hè 60000 * 500 =
3.000.000!)

Cinquième:
U operands pò aviri nuddu Schema rilazzioni. U Schema trattendu resultant è equivalenti a lu concatenation di schema trattendu di u operand.
n’elimentu:
Chistu è un nasuni computationally custusu
cuuperazione!
Puru, u curtzu resultant ùn hè micca di solitu Perciò !!

commutative iè
associative iè

Uperatori: Projection (uperatori)
straniere:
Crea un novu trattendu di toglie da u operand tutti spicificu (è dunqua li so valura) chì ùn sò micca mintuatu in i sprissioni projection.
Cinquième:
U tippu di u Schema resultant è equivalenti à Schema di l’operand ma lassannu fora spicificu micca citatu in a lista attribuilla.
n’elimentu:
(Transocéanique … x1, …, attr_xn) CIVILE (R1, attr_x1, …, attr_xn)
Nutate bè:
valura konania sò implicitly partuti!
In seguita Notes:
In un ‘esprissioni algebbrica cu na corda di prughjetti avemu duie cose avanzendu – ristrutturazioni, è poi và !! Cu certi manipulations algebbrica unu pò superchjà sti limitalli.
commutative (in generale) No associative (in generale) No
ghjocu Minimal di uperatori
Si pò esse amparatu chì un subset di l ‘uperatori prisentata (specificamente u pezzu, prughjettu, unione, in fattu è un pruduttu) sò mezi, o cumpleti, pi discrìviri l’ àutri uperatori (per esempiu à veda, Intersection eccetra).
L ‘usu di uperatori da u ghjocu sanu fà leghje certi sprissioni algebbrica naturale estrimamenti Inna!
Per esempiu, i operatore Intersection havi sta forma:
MANICURING (R1, R2)
è equivalenti à Diff (UNION (R1, R2), UNION (Diff (R1, R2), (Diff (R2, R1)))
o equivalenti à
Diff (R1, Diff (R1, R2))
Cumu hè un ‘àlgibbra?
una lingua sèmplice
crià à un accessu à tempu
sonu semantical
esprimi lu stissu richieste chì www.png Traduzzioni talianu: SEWING mudellu di basa discrivi
(I.e. u calculu SEWING Framework)
cumbugliu
optimisable francese
Query (unu) â € “”Diana
Ricuarà poi Cognome è indirizzu di tutti i cullaburatori, chì u travagliu di u dipartimentu â € ~Researchâ € ™.
research_dept: = pezzu dname = â € ™ Researcgâ € ™ (dipartimento francese);
research_dept_emps: = pezzu dnumber = Po (impiigatu un pruduttu di research_dept);
algl1: = prugettu fname, lname, indirizzu (research_dept_emps);
Query (dui) â € “”Diana
Pà ogni prughjettu situatu in â € ~Staffordâ € ™, liste u nùmeru Project, u numeru dipartimentu di putinziali, È u dipartimentu managerâ € ™ l noms de famille, address, È birthdate.
Stafford-_projs: = pezzu plocation = â € ™ Staffordâ € ™ (prugetti);
Contr_dept: = pezzu dnum-dnumber (Stafford_projs dipartimentu pruduttu);
proj_dept_mgr: = pezzu mgrssn = ssn (impiigatu un pruduttu di contr_dept);
alg2: = prugettu pnumber, dnum, lname, address, bdate (proj_dept_mgr);
Query (trè) â € “”Diana
Trova i nomi di e persone chì travaglianu chì u travagliu nantu à tutti i prughjetta cuntrullata da parechji dipartimentu 5.
Dept5_projs (pno): = prugettu pnumber (selezziunà dnum = 5 (prugetti)); emp_proj (ssn, pno): = prugettu essn, pno (works_on); emp_proj_ssns: = prugettu ssn (emp_proj); % Tutti i pussibulità di cullaburatori, travagliendu nant’à prughjetti dept5. Poss_emps_dept5: = (dept5_projs emp_proj_ssns pruduttu); /% cullaburatori, chì Donà travagliu € ™ l nantu à tutti i prugetti dept5 .. emps_not_dept5: = prugettu ssn (poss_emps_dept5 diffarenza emp_proj); result_emp_ssns: = E emp ssns inglese proj diffarenza emps_not_dept5; alg3: = prugettu lname, fname (result_emp_ssns njoin impiigatu);
Query (quattru) â € “”Diana
Fate un listinu di i numeri prugettu di prughjetti chi vennu cuimmurciuti un ‘impiigatu chjamatu noms hè â € ~Smithâ € ™, Sia cum’è una misciu o cum’è un capu di u dipartimentu chi vuluntà di u prugettu.
FABBRI (essn): = prugettu ssn (selezziunà lname = â € ~Smithâ € ™ (agenza));
smith_worker_projs: = prugettu pno (works_on njoin FABBRI);
mgrs: = prugettu lname, dnumber (selezziunà ssn = mgrssn (impiigatu piglieti dipartimentu Product));
smith_mgrs: = selecy lname = â € ™ Smitha € ™ (mgrs);
smith_managed_depts (dnum): = prugettu dnumber (smith_mgrs);
smith_mgr_projs (pno): = prugettu pmumber (smith_managed_depts njoin prugetti);
alg3: = smith_worker_projs smith_mgr_projs unione;
Query (cincu) â € “”Diana
Musei i nomi di tutte e persone chì travaglianu cù dui o cchiù Dependents.
% Make dui copii di persone chì travaglianu cù dependents.
Empdep1 (essn, depname1): = prugettu essn, dependent_name (dipindenti);
empdep2 (essn2, depname2): = empdep1;
E persone chì travaglianu cù più di una dipinnenza.
Emps_gtone_dep (ssn): = prugettu essn1 (selezziunà (essn = essn2) è (depname1 <> depname2) (empdep1 empdep2 Product));
alg5: = prugettu lname, fname (impiigatu njoin emps) gtone_dep);
Query (sei) – Bianca
Scaricate vi u nomi di e persone chì travaglianu chì mancanu Dependents.
All_emps: = prugettu ssn (agenza); Emps_with_deps (ssn): = prugettu essn (dipindenti); Emps_without_deps: = (all_emps
emps_with_deps Casamentu); Alg6: = prugettu lname, fname
(Emps_without_deps njoin impiigatu);
Query (setti) â € “”Diana
Musei i nomi di i gestiunari chì volenu almenu One dipinnenza.
Mgrssn (ssn): = prugettu mgrssn (dipartimento francese); Emps_with_deps (ssn): = prugettu essn (dipindenti); Mgrs_with_deps: = (mgrssn intersecani emps_with_deps); Alg7: = prugettu lname, fname
(Mgrs_with_deps njoin impiigatu);

“——————————————————————————————————————————————————

Podrška prijevod: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
relacijska algebra
Što je Algebra?
algebra (al-JE-Bre) imenica
Matematika
1 A generalizacija aritmetika u kojoj simboli, obično slova abecede, predstavljaju brojeve ili članovi određenog skupa brojeva, a odnose se operacijama koje imaju za sve brojeve u skupu.
2 a postavljen zajedno s operacijama definiranim u setu koji slušaju specificiranih zakone.
3 Riječ je uveo Arapska matematičar al-Khwarizmi (oko 900 AD), te donio na latinski Robert iz Chestera u 1145..

[Middle English, kosti postavljanje i talijanski, algebra, oba iz srednjovjekovnog latinskog, od arapski al-Jabr je (znanost) sjedinjenja. Al, na + Jabr, spajanje, kosti-setting]
Algebarske jezici su uobičajene u računalstvu: Booleova algebra za logičkih vrata; i Relacijska algebra za baze podataka DML.
Osnovni sastojci u algebra su set (tj operand) i operacije (npr operateri) koje djeluju na svim elementima skupa.
svojstva operator (na primjer, uzeti u obzir cijeli broj, postavljanje i rad dodatak) uključuju: Dodatak je zamjenski preko cijelih brojeva, jer 3 + 4 = 4 + 3 (plus (3,4) == plus (4,3)); i dodatak je rekao da se asocijativno preko cijelih brojeva, jer 3 + (4 + 5) = (3 + 4) + 5 (plus (3 plus (4,5)) == plus (plus (3,4), 5 ))).
Karakteristike rel. Algebra
Ona manipulira cijeli odnosa kroz
semantički nedvosmislena skup operacija (Ed
Codd 1970).

Relacijske algebre-a setovi su odnos je
proširenja (torke, reci) i operatori imaju
bilo postaviti teoretski podrijetla ili odnos orijentiran
milost.

Relacijski algebarski izraz ima kao ulazi jedan
(Predznak) ili dva (binarno), odnosa, a ponekad i
Izbor stanje.
Dok je izraz je izlaz je jedan odnos.

Ostale karakteristike:

Operatori algebra je raditi na sve relacije u torke;

algebarski ima procesnu Računarski
model;

Ali, to nije “”Turing kompletan””, može se napisati
Pascal program koji manipulira odnose na
koji nema algebarski ekvivalentni.

uvjet za odabir mora se procijeniti u odnosu
svaki torka samostalno;

izlaz algebarski rada je
prihvatljivo ulaz za posljedičnim algebarskih
izraz – to se zove izraz
sastav.

Operateri: Unija (binarno)
Što je s tipiziranjem relacijsku algebarski izraz i njegovu posljedičnom odnosu?
“”UNION”” kompatibilnost (UC) dvaju odnosa za binarnog izražavanja, dva sudjeluju odnose (operandi – R1 i R2) mora imati sljedeća strukturna ograničenja za izraz da se tip u pravu: 1) oba odnosi imaju isti stupanj ( odnosno n); I 2) za svaki atribut (1 <= i <= n), domenu (R1.Attr_i) = domenu (R2.Attr_i). PODACI VRSTA izrazom ako su dvije odnosi na u.c. Tada je odnos shema nastalo je proizvoljan izabran da bude da od prvog operanda. Drugo … (operand specifična – npr operater proizvoda) Semantika: Dobivena relacija ima sve torka prisutan u bilo prvi, drugi ili oba operanda.
Tipkanje:
Vrsta rezultanta odnosa sheme je da je prvi operand ako su oba operanda odnosi na u.c.
Notacija:
R1 U R2 UNIJA (R1, R2)
zamjenski DA asocijativni DA
Operateri: Razlika (binarno)
Semantika:
Dobivena odnos uključuje sve torke prvog operanda koje nisu prisutne u drugom operanda.
Tipkanje:
Vrsta rezultanta odnosa sheme je da je prvi operand ako su oba operanda odnosi na u.c.
Notacija:
R1 – R2 razl (R1, R2)
zamjenski NE asocijativni NE
Operateri: Izbor (predznak)
Semantika:
Stvaranje novog odnosa ekstrakcijom iz operand sve torke koje zadovoljavaju uvjete za izbor.
torke:
Vrsta rezultanta odnosa shemu je ekvivalent za operand a sheme.
Stanje odabir ima sljedeći oblik:
Naziv atributa Usporedba op. Konstantna vrijednost ili naziv atributa Usporedba op. naziv atributa
Niz uvjeta za odabir može se kombinirati kao u odaberite CONDITION1 i odaberite CONDITION2 ili odaberite CONDITION1 ili odaberite CONDITION2
Neki tipični usporedbu s hranom za naručene domena uključuju>, <, ==,! =, Itd
Notacija:
(Odaberite uvjet) R1 SELECT (R1, izbor uvjet)
Bilješka:
Dobivena je podskup operand!

zamjenski DA asocijativni DA
Relacijska algebra: Operateri: Proizvod (binarno)
Semantika:
Stvaranje novog odnosa od izvršenja umnožak
od dva operanda.
(Ako cardinalities R1 i R2 su 60000 i 500
odnosno, kardinalnost njihov proizvod a je 60000 x 500 =
3.000.000!)

Tipkanje:
A operandi može imati bilo koji odnos shemu. Dobivena relacija shema je ekvivalent stjecajem na operand je odnos sheme.
Notacija:
Ovo je izuzetno računski skupo
Operacija!
Također, rezultanta proširenje nije obično smisla !!

zamjenski Da
asocijativni Da

Operateri: Projekcija (predznak)
Semantika:
Stvaranje novog odnosa uklanjanjem iz operand svi atributi (i time i vrijednosti) koje nisu navedene u izrazu projiciranja.
Tipkanje:
Vrsta nastalog shemu jednaka je operand je shema, ali bez atributa nisu navedene na popisu atributa.
Notacija:
(Attr … x1, …, attr_xn) PROJEKT (R1, attr_x1, …, attr_xn)
Bilješka:
Dvostruke vrijednosti implicitno su uklonjene!
Daljnje napomene:
U algebarska izraza s nizom projekata imamo dvije stvari događa – restrukturiranje i ponovno širi !! Uz određene algebarske manipulacije može se prevladati ta ograničenja.
zamjenski (općenito) br asocijativno (općenito) Ne
Minimalni skup operatora
Može se pokazati da je podskup od prikazanih operatora (posebno izdvojiti, projekt, sindikata, razlike i proizvoda) su dovoljna, ili potpuni, opisati drugim operatorima (npr pridruže, raskrižje i sl).
Ekskluzivni korištenje operatora iz potpunog skupa čine čitajući neke prirodne algebarski izraz krajnje nepopustljiva!
Na primjer, raskrižje operator ima ovaj oblik:
Raskrižja (R1, R2)
je ekvivalent za razl (UNIJE (R1, R2), Union (razl (R1, R2), (razl (R2, R1)))
ili ekvivalentno
Diff (R1, razl (R1, R2))
Zašto algebra?
jednostavan jezik
postavljena na vremenu pristup
semantički zvuk
izražava iste upite koje drugo relacijskom modelu temelji jezikom opisuje
(A to je deklarativno relacijski račun)
proceduralni
optimisable
Upita (jedan) â € “”Društvo
Dohvat zatim ime i adresu svih zaposlenika koji rade za â € ~Researchâ € ™ odjel.
research_dept: = izaberite dname = â € ™ Researcgâ € ™ (departman);
research_dept_emps: = Odaberi dnumber = dno (research_dept zaposlenika proizvoda);
algl1: = projekta fname, lname, adresa (research_dept_emps);
Upita (dva) â € “”Društvo
Za svaki projekt koji se nalazi u â € ~Staffordâ € ™, navesti broj projekta, kontrolira broj odjela i Odjela Managera € ™ s prezime, adresa, i datum rođenja.
Stafford-_projs: = izaberite plocation = â € ™ Staffordâ € ™ (projekti);
Contr_dept: = izaberite dnum-dnumber (Stafford_projs proizvod odjel);
proj_dept_mgr: = izaberite mgrssn = SSN (contr_dept zaposlenik proizvoda);
alg2: = projekta pnumber, dnum, lname, adresa, bdate (proj_dept_mgr);
Upita (tri) â € “”Društvo
Nađi imena zaposlenika koji rade na svim projektima pod kontrolom odjela brojem 5.
Dept5_projs (PNO): = projekta pnumber (odaberite dnum = 5 (projekte)); emp_proj (SSN, PNO): = projekta essn, PNO (works_on); emp_proj_ssns: = SSN projekt (emp_proj); % Sve mogućnosti zaposlenika koji rade na dept5 projekata. Poss_emps_dept5: = (dept5_projs emp_proj_ssns proizvod); /% zaposlenika koji don ¡ť s radom na svim dept5 projekte .. emps_not_dept5: = SSN projekt (poss_emps_dept5 razlika emp_proj); result_emp_ssns: = EMP proj ssns razlika emps_not_dept5; ALG3: = projekta lname, fname (result_emp_ssns njoin zaposlenika);
Upita (četiri) â € “”Društvo
Napravite popis brojeva projekta za projekte koji uključuju jedan zaposlenik čije prezime je â € ~Smithâ € ™, bilo kao radnik ili kao rukovoditelj Odjela koji upravlja projektom.
Smiths (essn): = projekta SSN (odaberite lname = â € ~Smithâ € ™ (zaposlenik));
smith_worker_projs: = PNO projekt (works_on njoin Smiths);
MGRS: = lname projekt, dnumber (odaberite SSN = mgrssn (zaposlenik proizvod odjel));
smith_mgrs: = selecy lname = â € ™ Smitha € ™ (MGRS);
smith_managed_depts (dnum): = projekta dnumber (smith_mgrs);
smith_mgr_projs (PNO): = projekta pmumber (smith_managed_depts njoin projekata);
ALG3: = smith_worker_projs union smith_mgr_projs;
Upita (pet) â € “”Društvo
Popis imena svih zaposlenika s dva ili više članova obitelji.
% U dvije kopije zaposlenika s obitelji.
Empdep1 (essn, depname1): = projekta essn, dependent_name (ovisi);
empdep2 (essn2, depname2): = empdep1;
i zaposlenici s više od jednog ovisni.
Emps_gtone_dep (SSN): = essn1 projekt (odabir (essn = essn2) i (depname1 <> depname2) (empdep1 proizvod empdep2));
alg5: = projekta lname, fname (zaposlenik njoin planova upravljanja okolišem) gtone_dep);
Upita (šest) – Društvo
Preuzeti imena zaposlenika koji nemaju obitelji.
All_emps: = SSN projekt (zaposlenika); Emps_with_deps (SSN): = projekta essn (ovisi); Emps_without_deps: = (all_emps
Razlika emps_with_deps); ALG6: = projekta lname, fname
(Emps_without_deps njoin zaposlenika);
Upita (sedam) â € “”Društvo
Popis imena menadžera koji imaju barem jednu zavisnu.
Mgrssn (SSN): = mgrssn projekt (departman); Emps_with_deps (SSN): = projekta essn (ovisi); Mgrs_with_deps: = (mgrssn sijeku emps_with_deps); Alg7: = projekta lname, fname
(Mgrs_with_deps njoin zaposlenika);

“——————————————————————————————————————————————————

Support oversættelse: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
Relationel Algebra
Hvad er en algebra?
algebra (al-je-bre) substantiv
Matematik
1 A generalisering af aritmetik, hvor symboler, som regel bogstaver i alfabetet, repræsentere tal eller medlemmer af et bestemt sæt af numre og er relateret gennem operationer, der holder til alle numre i sættet.
2. Et sæt sammen med operationer, der defineres i det sæt, adlyder angivne love.
3 Word indført ved arabisk matematiker al-Khwarizmi (circa 900 e.Kr.) og bragt over til latin af Robert af Chester i 1145.

[Mellemøsten engelsk, knogle-indstilling og italiensk, algebra, både fra Medieval latin, fra arabisk al-jabr, den (videnskaben om) genforene:. Al den + jabr, genforening, knogle-indstilling]
Algebraiske sprog er almindelige i computing: Boolean algebra for logiske gates; og relationelle algebra til database DML.
Grundlæggende ingredienser i en algebra er et sæt (dvs. operand) og operationer (dvs. operatører), der virker på alle elementer i sættet.
Operator egenskaber (for eksempel overveje et heltal sæt og tilsætningen drift) omfatter: Addition er kommutativ over heltal siden 3 + 4 = 4 + 3 (plus (3,4) == plus (4,3)); og Addition siges at være associativ over hele tal siden 3 + (4 + 5) = (3 + 4) + 5 (plus (3, plus (4,5)) == plus (plus (3,4), 5 ))).
Karakteristik af Rel. Algebra
Det manipulerer hele relationer gennem en
semantisk entydig sæt operationer (Ed
Codd 1970).

Den relationelle algebra s sæt er relationen s
forlængelse (tupler, rækker) og operatørerne har
enten et sæt teoretisk oprindelse eller relation orienteret
favor.

En relationel algebraisk udtryk har som input en
(Unær) eller to (binær), relationer og undertiden en
udvælgelse tilstand.
Mens et udtryk udgang er et enkelt forhold.

Andre Egenskaber:

den algebra operatører arbejde på alle relation s tupler;

den algebra har en proceduremæssig beregningsmæssige
model;

Men det er ikke “”Turing komplet””, kan man skrive en
Pascal program, der manipulerer relationer til
hvor der ikke er algebraisk ækvivalent.

et udvalg tilstand skal vurderes i forhold til
hver tuple uafhængigt;

outputtet af en algebraisk operation er en
acceptabel input til en deraf algebraisk
ekspression – dette kaldes ekspression
sammensætning.

Operatører: Union (binær)
Hvad med typning af en relationel algebraisk udtryk og dens resulterende relation?
“”UNION”” kompatibilitet (uc) af to relationer for en binær udtryk, de to deltagende relations (operander – R1 og R2) skal have følgende strukturelle begrænsninger for udtrykket at være typen korrekt: 1) begge relationer har samme grad ( dvs n); & 2) for hver attribut (1 <= i <= n), det domæne (R1.Attr_i) = domæne (R2.Attr_i). Datatypen af et udtryk IF de to relationer er i u.c. Så kan forholdet skemaet for den resulterende er vilkårligt valgt til at være den for den første operand. ELSE … (operand specifik – fx produkt operatør) Semantik: Den resulterende relation har al den tupel stede i enten den første, den anden eller begge operander.
Typing:
Typen af den resulterende forbindelse maet er den for den første operand hvis begge operanddata forbindelser er i u.c.
Notation:
R1 U R2 UNION (R1, R2)
kommutativ JA associative JA
Operatører: Forskel (binær)
semantik:
Det resulterende forhold omfatter alle tuples af den første operand, der ikke er til stede i den anden operand.
Typing:
Typen af den resulterende forbindelse maet er den for den første operand hvis begge operanddata forbindelser er i u.c.
Notation:
R1 – R2 DIFF (R1, R2)
kommutativ NO associative NO
Operatører: Valg (unary)
semantik:
Opret en ny relation ved at udtrække fra operand alle tupler, der opfylder udvælgelseskriterierne betingelser.
tupler:
Typen af den resulterende forbindelse skemaet svarer til operand s skema.
Et udvalg tilstand har følgende form:
Attribut navn Sammenligning op. Konstant værdi eller Attributnavn Sammenligning op. attribut navn
En række Selection betingelser kunne kombineres som i vælge betingelse1 OG vælge betingelse2 eller vælg betingelse1 ELLER vælg betingelse2
Nogle typiske sammenligning operatører for bestilte domæner inkluderer>, <, ==,! = Osv
Notation:
(Vælg tilstand) R1 SELECT (R1, udvælgelse tilstand)
Note:
Det resulterende er en delmængde af den operand!

kommutativ JA associative JA
Relationel Algebra: Operatører: Produkt (binær)
semantik:
Opret en ny relation ved at indgå en kartesiske produkt
af de to operander.
(Hvis kardinaliteterne af R1 og R2 er 60000 og 500
henholdsvis deres produkts kardinalitet er 60000 * 500 =
3,000,000!)

Typing:
Operanderne kan have nogen relation skema. Det resulterende forhold skema svarer til sammenkædning af den operand relation skema.
Notation:
Dette er en yderst beregningsmæssigt dyrt
operation!
Også den resulterende udvidelse er ikke normalt meningsfuld !!

kommutativ Ja
associativ Ja

Operatører: Projection (unary)
semantik:
Opret en ny relation ved at fjerne fra operand alle attributter (og dermed deres værdier), der ikke er nævnt i fremskrivningen udtryk.
Typing:
Typen af den resulterende skema svarer til operand s skema, men eksklusive egenskaber ikke er nævnt i listen attributten.
Notation:
(Attr … x1, …, attr_xn) PROJECT (R1, attr_x1, …, attr_xn)
Note:
Duplicate værdier implicit fjernet!
Yderligere Bemærkninger:
I et algebraisk udtryk med en perlerække af projekter har vi to ting foregår – omstrukturering og omlægning strækker !! Med visse algebraiske manipulationer kan man overvinde disse begrænsninger.
kommutativ (generelt) nr associativ (generelt) nr
Minimal sæt af operatører
Det kan vises, at en delmængde af de præsenterede operatører (specifikt vælge, projekt, union, forskel og produkt) er tilstrækkelige, eller fuldstændig at beskrive de andre operatører (f.eks slutte, kryds osv).
Den eksklusive brug af operatører fra det komplette sæt gør læser nogle naturlige algebraiske udtryk ekstremt urokkelig!
For eksempel skæringspunktet operatøren har denne formular:
Kryds (R1, R2)
svarer til DIFF (UNION (R1, R2), UNION (DIFF (R1, R2), (DIFF (R2, R1)))
eller svarer til
DIFF (R1, DIFF (R1, R2))
Hvorfor en algebra?
et enkelt sprog
indstillet på et tidspunkt adgang
semantisk lyd
udtrykker de samme forespørgsler, at en anden relationel model baseret sprog beskriver
(Dvs. den deklarative relationelle calculus)
proceduremæssige
optimisable
Query (en) â € “”Company
Henter derefter navn og adresse på alle medarbejdere, der arbejder for â € ~Researchâ € ™ afdeling.
research_dept: = Vælg DNAME = â € ™ Researcgâ € ™ (departement);
research_dept_emps: = Vælg DAntal = DNO (research_dept produkt medarbejdernes);
algl1: = projekt fname, lname, adresse (research_dept_emps);
Query (to) â € “”Company
For hvert projekt i â € ~Staffordâ € ™, en liste over de Projektnummer, den kontrollerende afdeling nummer, og afdelingen managerâ € ™ s efternavn, adresse og fødselsdato.
Stafford-_projs: = Vælg plocation = â € ™ Staffordâ € ™ (projekter);
Contr_dept: = Vælg dnum-DAntal (Stafford_projs produkt afdeling);
proj_dept_mgr: = Vælg mgrssn = SSN (contr_dept produkt medarbejder);
ALG2: = projekt pnumber, dnum, lname, adresse, bdate (proj_dept_mgr);
Query (tre) â € “”Company
Find navnene på medarbejdere, der arbejder på alle de projekter, der kontrolleres af afdeling nummer 5.
Dept5_projs (PNO): = projekt pnumber (vælg dnum = 5 (projekter)); emp_proj (SSN, PNO): = projekt ESSN, PNO (works_on); emp_proj_ssns: = projekt SSN (emp_proj); % Alle muligheder for medarbejdere, der arbejder på dept5 projekter. Poss_emps_dept5: = (dept5_projs produkt emp_proj_ssns); /% Medarbejdere, der donâ € ™ s arbejde på alle dept5 projekter .. emps_not_dept5: = projekt SSN (poss_emps_dept5 forskel emp_proj); result_emp_ssns: = emp proj ssns forskel emps_not_dept5; ALG3: = projekt lname, fname (result_emp_ssns njoin medarbejder);
Query (fire) â € “”Company
Lav en liste over projektets numre for projekter, der involverer en medarbejder, hvis efternavn er â € ~Smithâ € ™, Enten som arbejdstager eller som leder af afdelingen, der styrer projektet.
Smiths (ESSN): = projekt SSN (vælg lname = â € ~Smithâ € ™ (medarbejder));
smith_worker_projs: = projekt PNO (works_on njoin smede);
mgrs: = projekt lname, DAntal (vælg SSN = mgrssn (medarbejder produkt afdeling));
smith_mgrs: = selecy lname = â € ™ Smitha € ™ (mgrs);
smith_managed_depts (dnum): = projekt DAntal (smith_mgrs);
smith_mgr_projs (PNO): = projekt pmumber (smith_managed_depts njoin projekter);
ALG3: = smith_worker_projs union smith_mgr_projs;
Query (fem) â € “”Company
Liste navnene på alle medarbejdere med to eller flere personer.
% Lav to kopier af medarbejdere med pårørende.
Empdep1 (ESSN, depname1): = projekt ESSN, dependent_name (afhængig);
empdep2 (essn2, depname2): = empdep1;
& Ansatte med mere end én afhængige.
Emps_gtone_dep (SSN): = projekt essn1 (vælg (ESSN = essn2) og (depname1 <> depname2) (empdep1 produkt empdep2));
alg5: = projekt lname, fname (medarbejder njoin EMP’er) gtone_dep);
Query (seks) – Company
Hent navne på medarbejdere, der ikke har nogen pårørende.
All_emps: = projekt SSN (medarbejder); Emps_with_deps (SSN): = projekt ESSN (afhængig); Emps_without_deps: = (all_emps
Forskel emps_with_deps); Alg6: = projekt lname, fname
(Emps_without_deps njoin medarbejder);
Query (syv) â € “”Company
Liste navnene på ledere, der har mindst en afhængig.
Mgrssn (SSN): = projekt mgrssn (departement); Emps_with_deps (SSN): = projekt ESSN (afhængig); Mgrs_with_deps: = (mgrssn skærer emps_with_deps); ALG7: = projekt lname, fname
(Mgrs_with_deps njoin medarbejder);

“——————————————————————————————————————————————————

Ondersteuning vertaling: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
Relational Algebra
Wat is een Algebra?
algebra (al-je-bre) zelfstandig naamwoord
Wiskunde
1 Een veralgemening van de rekenkunde in welke symbolen, meestal letters van het alfabet, vertegenwoordigen nummers of leden van een specifieke set van nummers en zijn gerelateerd door operaties die gelden voor alle nummers in de set.
2 Een set samen met activiteiten die in de set die bepaalde wetten te gehoorzamen.
3 Word geïntroduceerd door Arabische wiskundige Al-Khwarizmi (circa 900 na Christus) en overgebracht naar het Latijn door Robert van Chester in 1145.

[Midden-Engels, bot-setting en de Italiaanse, algebra, beiden uit Middeleeuws Latijn, uit het Arabisch al-jabr, de (wetenschap van) herenigen. Al, de + jabr, hereniging, bot-setting]
Algebraïsche talen komen vaak voor in de informatica: Boolean algebra voor logische poorten; en Relationele algebra voor database-DML.
Basisingrediënten van een algebra zijn een set (dat wil zeggen operand) en operaties (dat wil zeggen operatoren) die inwerken op alle elementen van de set.
Operator eigenschappen (bijvoorbeeld eens een integer ingesteld en de optelbewerking) zijn: Addition commutatief via integers sinds 3 + 4 = 4 + 3 (plus (3,4) == plus (4,3)); en toevoeging wordt gezegd associatieve via gehele getallen zijn sinds 3 + (4 + 5) = (3 + 4) + 5 (plus (3, plus (4,5)) == plus (plus (3,4), 5 ))).
Kenmerken van de Rel. Algebra
Het manipuleert hele relaties door middel van een
semantisch ondubbelzinnige set van de operaties (Ed
Codd 1970).

sets van de relationele algebra’s zijn de relatie’s
extensie (tupels, rijen) en de exploitanten
ofwel een set theoretische herkomst of relatie-georiënteerde
bevoordelen.

Een relationele algebraïsche uitdrukking heeft als ingangen een
(Unaire) of twee (binair), relaties en soms een
selectie conditie.
Terwijl de output een uitdrukking is één relatie.

Andere kenmerken:

exploitanten van de algebra’s werken op alle tupels de relatie’s;

de algebra heeft een procedurele computational
model;

Maar het is niet “”Turing complete””, kan men schrijven
Pascal programma dat relaties manipuleert voor
waarbij geen algebraïsche equivalent.

een selectie voorwaarde moet worden getoetst aan
elke tuple onafhankelijk;

de uitgang van een algebraïsche bewerking een
aanvaardbare input voor een consequente algebraïsche
expressie – dit heet uitdrukking
samenstelling.

Operators: Union (binary)
Hoe zit het met de typering van een relationele algebraïsche uitdrukking en de daaruit voortvloeiende relatie?
“”Unie”” compatibiliteit (UC) van twee relaties voor een binaire uitdrukking, de twee deelnemende relaties (operands – R1 en R2) moet de volgende structurele beperkingen hebben voor de expressie van het type correct te zijn: 1) beide relaties te hebben in dezelfde mate ( ie n); & 2) voor elk kenmerk (1 <= i <= n), het domein (R1.Attr_i) = domein (R2.Attr_i). Het gegevenstype van een expressie is als de twee relaties in u.c. THEN de verhouding schema van de resulterende willekeurig gekozen dat de eerste operand. ELSE … (operand specifieke – bijvoorbeeld product operator) semantiek De resulterende verhouding van alle tupel aanwezig in hetzij de eerste, de tweede of beide operanden.
Typen:
Het type van de resulterende verhouding schema is dat van de eerste operand als beide operand relaties in u.c.
notatie:
R1 R2 U UNIE (R1, R2)
commutatieve JA associatieve JA
Operators: Verschil (binary)
Semantiek:
De resulterende verhouding omvat alle tupels van de eerste operand die niet in de tweede operand zijn.
Typen:
Het type van de resulterende verhouding schema is dat van de eerste operand als beide operand relaties in u.c.
notatie:
R1 – R2 DIFF (R1, R2)
commutatieve NO NO associatieve
Operators: Selection (unaire)
Semantiek:
Maak een nieuwe relatie door het extraheren van de operand alle tupels dat de selectie voorwaarden voldoen.
tupels:
Het type van de resulterende verhouding schema komt overeen met de schema’s operand.
Een selectie voorwaarde heeft de volgende vorm:
Attribuutnaam Vergelijking op. Constante waarde of Kenmerknaam Vergelijking op. Attribuut naam
Een reeks van selectie condities kunnen worden gecombineerd zoals in bepaalde voorwaarde1 en selecteer voorwaarde2 of selecteer voorwaarde1 OR select voorwaarde2
Enkele typische vergelijking operators voor bestelde domeinen omvatten>, <, ==,! =, Etc
notatie:
(Select conditie) R1 SELECT (R1, selectie conditie)
Notitie:
De resulterende is een subset van de operand!

commutatieve JA associatieve JA
Relationele Algebra: Operators: Product (binary)
Semantiek:
Maak een nieuwe relatie door het uitvoeren van een Cartesiaans product
van de twee operanden.
(Als de kardinaliteiten van R1 en R2 60.000 en 500
respectievelijk belangrijkheid van hun product is 60000 * 500 =
3.000.000!)

Typen:
De operanden kan elke relatie schema hebben. De resulterende verhouding schema komt overeen met de aaneenschakeling van de operand de relatie schema.
notatie:
Dit is een zeer dure computationeel
operation!
Ook het resulterende toestel is meestal niet zinvol !!

commutatieve Ja
associatieve Ja

Operators: Projectie (unaire)
Semantiek:
Een nieuwe verhouding door van de operand alle attributen (en dus hun waarden) die niet in het uitsteeksel expressie genoemd.
Typen:
Het type van de resulterende schema is gelijk aan het schema operand maar exclusief kenmerken niet in de lijst genoemde kenmerk.
notatie:
(Attr … x1, …, attr_xn) PROJECT (R1, attr_x1, …, attr_xn)
Notitie:
Dubbele waarden impliciet verwijderd!
Verdere Opmerkingen:
In een algebraïsche uitdrukking met een reeks van projecten hebben we twee dingen gaande – herstructurering en re-uitbreiding van !! Bij bepaalde algebraïsche manipulaties kan men deze beperkingen te overwinnen.
commutatieve (in het algemeen) Geen associatief (in het algemeen) Geen
Minimale set van de exploitanten
Het kan worden aangetoond dat een subset van de gepresenteerde operators (in het bijzonder de selecte, project, unie, verschil en product) zijn voldoende, of volledig, aan de andere operatoren te beschrijven (bijvoorbeeld meedoen, kruising etc).
Het exclusieve gebruik van de exploitanten van de complete set maken het lezen van een aantal natuurlijke algebraïsche uitdrukkingen uiterst onbuigzaam!
Bijvoorbeeld, de kruising operator heeft deze vorm:
INTERSECTION (R1, R2)
is gelijk aan DIFF (UNION (R1, R2), UNION (DIFF (R1, R2), (DIFF (R2, R1)))
of gelijk aan
DIFF (R1, DIFF (R1, R2))
Waarom een algebra?
een eenvoudige taal
ingesteld op een time toegang
semantisch geluid
drukt dezelfde queries dat een andere relationele model gebaseerde taal beschrijft
(Dat wil zeggen de declaratieve relationele calculus)
procedureel
optimisable
Query (één) â € “”Company
Haal vervolgens de naam en het adres van alle medewerkers die voor de â € ~Researchâ € ™ afdeling werken.
research_dept: = select dname = â € ™ Researcgâ € ™ (departement);
research_dept_emps: = select dnumber = DNO (research_dept product werknemer);
algl1: = project fname, lname, adres (research_dept_emps);
Query (twee) â € “”Company
Voor elk project zich in â € ~Staffordâ € ™, een lijst van de Project nummer, de controlerende afdeling nummer, en de afdeling managerâ € ™ s achternaam, adres en geboortedatum.
Stafford-_projs: = select plocation = â € ™ Staffordâ € ™ (projecten);
Contr_dept: = select dnum-dnumber (Stafford_projs product afdeling);
proj_dept_mgr: = select mgrssn = SSN (contr_dept product werknemer);
alg2: = project pnumber, dnum, lname, adres, bdate (proj_dept_mgr);
Query (drie) â € “”Company
Zoek de namen van de werknemers die op alle projecten gecontroleerd door afdeling nummer 5 werken.
Dept5_projs (pno): = project pnumber (selecteer dnum = 5 (projecten)); emp_proj (SSN PNO): = project ESSN PNO (works_on); emp_proj_ssns: = project SSN (emp_proj); % Alle mogelijkheden van de medewerkers werken aan dept5 projecten. Poss_emps_dept5: = (dept5_projs product emp_proj_ssns); /% Werknemers die € ™ s werk dona op alle dept5 projecten .. emps_not_dept5: = project SSN (poss_emps_dept5 verschil emp_proj); result_emp_ssns: = emp proj SSNs verschil emps_not_dept5; alg3: = project lname, fname (result_emp_ssns Njoin werknemer);
Query (vier) â € “”Company
Maak een lijst van project nummers voor projecten die een werknemer wiens achternaam is â € ~Smithâ € ™ Betrek, hetzij als werknemer of als manager van de afdeling die het project beheert.
Smiths (ESSN): = project SSN (selecteer lname = â € ~Smithâ € ™ (werknemer));
smith_worker_projs: = project pno (works_on Njoin smeden);
MGRS: = project lname, dnumber (selecteer SSN = mgrssn (werknemer product departement));
smith_mgrs: = selecy lname = â € ™ Smitha € ™ (mgrs);
smith_managed_depts (dnum): = project dnumber (smith_mgrs);
smith_mgr_projs (pno): = project pmumber (smith_managed_depts Njoin projecten);
alg3: = smith_worker_projs union smith_mgr_projs;
Query (vijf) â € “”Company
De namen van alle werknemers met twee of meer ten laste.
% Maak twee kopieën van de werknemers met personen ten laste.
Empdep1 (ESSN, depname1): = project ESSN, dependent_name (afhankelijk);
empdep2 (essn2, depname2): = empdep1;
& Werknemers met meer dan een persoon ten laste.
Emps_gtone_dep (SSN): = project essn1 (selecteer (ESSN = essn2) en (depname1 <> depname2) (empdep1 product empdep2));
alg5: = project lname, fname (werknemer Njoin emps) gtone_dep);
Query (zes) – Company
Haal de namen van de werknemers die geen personen ten laste.
All_emps: = project SSN (werknemer); Emps_with_deps (SSN): = project ESSN (afhankelijk); Emps_without_deps: = (all_emps
Verschil emps_with_deps); Alg6: = project lname, fname
(Emps_without_deps Njoin werknemer);
Query (zeven) â € “”Company
Een lijst van de namen van de managers die minstens één afhankelijke.
Mgrssn (SSN): = project mgrssn (departement); Emps_with_deps (SSN): = project ESSN (afhankelijk); Mgrs_with_deps: = (mgrssn snijden emps_with_deps); ALG7: = project lname, fname
(Mgrs_with_deps Njoin werknemer);

“——————————————————————————————————————————————————

Podpora překladu: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
relační algebře
Co je to Algebra?
algebra (al-je-BRE) podstatné jméno
Matematika
1 A zobecnění z aritmetiky, ve kterém symboly, obvykle písmena abecedy, představují čísla nebo členy určitého sadu čísel a jsou spojeny operacemi, které drží pro všechna čísla v sadě.
2 A sadě spolu s operacemi definovanými v sadě, že poslouchají specifikované zákony.
3 Slovo představil arabský matematik al-Khwarizmi (cca 900 nl) a přivedl do latiny Robert Chester roku 1145.

[Middle anglický, kost-nastavení a italský, algebra, a to jak ze středověké latiny, od arabštiny al-Jabr se (věda) sloučení: al., The + jabr, znovusjednocení, kost-nastavení]
Algebraické jazyky jsou běžné v oblasti výpočetní techniky: Logická algebra pro logických hradel; a relační algebra pro databázi DML.
Základní složky algebry jsou sadu (tj. Operandu) a operace (tj účastníci), které působí na všechny prvky sady.
Vlastnosti operátora (například uvažovat o celé číslo sadu a operace sčítání) zahrnují: Sčítání je komutativní nad celými čísly od 3 + 4 = 4 + 3 (plus (3,4) == a (4,3)); a dodatek se říká, že asociativní nad celými čísly od + 3 (4 + 5) = (3 + 4) + 5 (plus (3 plus (4,5)) == Plus (plus (3,4), 5 ))).
Charakteristika rel. Algebra
To ovládá celý vztahy prostřednictvím
významově jednoznačné soubor operací (Ed
Codd 1970).

Nastaví relační algebře jsou vztah je
Extension (n-tice, řádků) a operátory
buď nastavit teoretický původ nebo vztah orientovaný
laskavost.

Relační algebraický výraz má jako jeden vstupy
(Unární) nebo dva (binární), vztahy a někdy
Podmínkou výběru.
Zatímco produkce výrazem je jediný vztah.

Ostatní vlastnosti:

Provozovatelé algebry pracují na všech n-tic vztahu je;

algebra má procesní výpočetních
model;

Ale není to “”Turing kompletní””, je možné napsat
Pascal program, který manipuluje vztahy pro dosažení
což není algebraický ekvivalent.

Podmínkou výběr musí být hodnoceny
každá n-tice nezávisle;

výstup z algebraické operace je
přijatelné vstup do následné algebraické
Exprese – to se nazývá výrazem
složení.

Operátoři: Union (binární)
A co typizaci relační algebraických výrazu a jeho výsledný vztah?
“”UNION”” kompatibilita (UC) ze dvou vztahů pro binární vyjádření, oba zúčastněné vztahy (operandy – R1 a R2), musí být tyto strukturální omezení pro výraz, který má být typově správné: 1) oba vztahy mají stejný stupeň ( tj n); A 2) pro každý atribut (1 <= i <= n), doménu (R1.Attr_i) = doménu (R2.Attr_i). Datový typ výrazu, pokud tyto dva vztahy jsou v u.c. PAK vztah schéma výsledného je libovolná vybrán, aby se, že první operand. Jiného … (operand konkrétní – např. Operátor produkt) Sémantika: Výsledný vztah má k dispozici všechny n-tice, přítomných v buď první, druhý nebo oba operandy.
Psaní na stroji:
Typ výsledného vztahu schématu je, že první operand, pokud jsou oba operandy jsou vztahy v u.c.
značení:
R1 R2 U UNION (R1, R2)
komutativní asociativní ANO ANO
Operátoři: Rozdíl (binární)
Sémantika:
Výsledný vztah zahrnuje všechny n-tice první operand, které nejsou přítomny v druhý operand.
Psaní na stroji:
Typ výsledného vztahu schématu je, že první operand, pokud jsou oba operandy jsou vztahy v u.c.
značení:
R1 – R2 Rozdíl (R1, R2)
komutativní asociativní NE NE
Operátoři: Selection (unární)
Sémantika:
Vytvořte nový vztah extrakcí z operandu všechny n-tice, které splňují podmínky výběru.
tice:
Typ výsledného vztahu schématu odpovídá schématu operandu je.
Podmínkou výběr má následující podobu:
Název atributu Porovnání op. Konstantní hodnota nebo atribut název Comparison op. název atributu
Řada výběrových podmínek mohly být kombinovány jako v vyberte condition1 a zvolte condition2 nebo zvolte condition1 nebo zvolte condition2
Některé typické operátory porovnání pro objednaných domén zahrnují>, <, ==,! =, Etc
značení:
(Select podmínka) R1 SELECT (R1, stav výběr)
Poznámka:
Výsledný je podmnožinou operandu!

komutativní asociativní ANO ANO
Relační algebry: Operátoři: Produkt (binární)
Sémantika:
Vytvořte nový vztah provedením kartézský součin
ze dvou operandů.
(Pokud jsou kardinalita z R1 a R2 60000 a 500
respektive mohutnost jejich produkt je 60000 * 500 =
3000000!)

Psaní na stroji:
Operandy mohou mít žádný vztah schématu. Výsledný vztah schéma odpovídá zřetězení operandu vztahem schématu.
značení:
Jedná se o mimořádně výpočetně náročné
operace!
Také výsledný rozšíření obvykle není smysluplné !!

komutativní Ano
asociativní Ano

Operátoři: Projekce (unární)
Sémantika:
Vytvořte nový vztah tím, že odstraní z operandu všechny atributy (a následně jejich hodnoty), které nejsou uvedeny v projekčním výrazu.
Psaní na stroji:
Typ výsledného schématu odpovídá schématu operandu, ale bez atributů, které nejsou uvedeny v seznamu atributů.
značení:
(Attr … x1, …, attr_xn) PROJEKT (R1, attr_x1, …, attr_xn)
Poznámka:
Duplicitní hodnoty jsou implicitně odstraněny!
Další poznámky:
V algebraické vyjádření s řetězem projektů máme dvě věci děje – restrukturalizaci a re-rozšíření !! U některých algebraických manipulací se dá překonat tato omezení.
komutativní (obecně) č asociativní (obecně) č
Minimální set operátorů
To může být prokázáno, že podmnožinou z uvedených subjektů (konkrétně vybrat, projekt, odborů, rozdílových a produktových) jsou přiměřené, nebo úplné, popsat další operátory (například spojit, křižovatka atd).
Výhradní používání operátorů z celého souboru make přečtení některé přírodní algebraických výrazů velmi neústupný!
Například operátor průnik má tento tvar:
INTERSECTION (R1, R2)
je ekvivalentní Rozdíl (UNIE (R1, R2), Union (NRP (R1, R2), (rozdíl (R2, R1)))
nebo ekvivalentní
Rozdíl (R1, DIFF (R1, R2))
Proč algebra?
jednoduchý jazyk
nastaven na přístupová doba
sémanticky zvuk
vyjadřuje stejné dotazy, které jiný relační jazykový model založený popisuje
(To znamená, že deklarativní relační kalkul)
procesní
optimisable
Query (jeden) â € “”Firma
Načíst pak jméno a adresa všech zaměstnanců, kteří pracují pro oddělení € ~Researchâ € ™.
research_dept: = select DNAME = â € ™ Researcgâ € ™ (oddělení);
research_dept_emps: = select dnumber = dno (research_dept produkt zaměstnance);
algl1: = projekt fname, lname, adresa (research_dept_emps);
Query (dvě) â € “”Firma
Pro každý projekt nachází v CZK ~Staffordâ € ™, uvést číslo projektu, kontrolní číslo oddělení a oddělení managerâ € ™ s jméno, příjmení, adresa, a data narození.
Stafford-_projs: = select plocation = â € ™ Staffordâ € ™ (projektů);
Contr_dept: = select dnum-dnumber (Stafford_projs oddělení produktu);
proj_dept_mgr: = select mgrssn = SSN (contr_dept zaměstnanec produkt);
ALG2: = projekt pnumber, dnum, lname, adresa, bdate (proj_dept_mgr);
Query (tři) â € “”Firma
Najděte jména zaměstnanců, kteří pracují na všech projektech řízených oddělení číslem 5.
Dept5_projs (PNO): = Projekt pnumber (výběr dnum = 5 (projektů)); emp_proj (SSN, PNO): = projekt ESSN, PNO (works_on); emp_proj_ssns: = projekt SSN (emp_proj); % Všechny možnosti zaměstnanců, kteří pracují na projektech dept5. Poss_emps_dept5: = (dept5_projs emp_proj_ssns produkt); /% zaměstnanců, kteří dona € ™ s prací na všech projektech dept5 .. emps_not_dept5: = projekt SSN (poss_emps_dept5 rozdíl emp_proj); result_emp_ssns: = EMP PROJ ssns rozdíl emps_not_dept5; ALG3: = projekt lname, fname (result_emp_ssns njoin zaměstnance);
Query (čtyři) â € “”Firma
Udělejte si seznam čísel pro projekty, které se týkají zaměstnanec, jehož příjmení je â € ~Smithâ € ™, buď jako dělník nebo v postavení ředitele odboru, který řídí projekt.
Smiths (ESSN): = projekt SSN (výběr lname = â € ~Smithâ € ™ (zaměstnanec));
smith_worker_projs: = projekt PNO (works_on njoin kováři);
MGRS: = projekt lname, dnumber (výběr SSN = mgrssn (departement zaměstnanec produkt));
smith_mgrs: = selecy lname = â € ™ Smithâ € ™ (MGRS);
smith_managed_depts (dnum): = Projekt dnumber (smith_mgrs);
smith_mgr_projs (PNO): = Projekt pmumber (smith_managed_depts njoin projektů);
ALG3: = smith_worker_projs union smith_mgr_projs;
Query (pět) â € “”Firma
Seznam jmen všech zaměstnanců se dvěma nebo více závislých osob.
% Udělejte si dvě kopie zaměstnanců s rodinným příslušníkům.
Empdep1 (ESSN, depname1): = projekt ESSN, dependent_name (závisí);
empdep2 (essn2, depname2): = empdep1;
& Pracovníci s více než jeden závislý.
Emps_gtone_dep (SSN): = Projekt essn1 (výběr (ESSN = essn2) a (depname1 <> depname2) (empdep1 produkt empdep2));
alg5: = projekt lname, fname (zaměstnanec njoin eMPS) gtone_dep);
Query (šest) – Firma
Načíst jména zaměstnanců, kteří nemají závislé osoby.
All_emps: = projekt SSN (zaměstnanec); Emps_with_deps (SSN): = Projekt ESSN (závislé); Emps_without_deps: = (all_emps
Rozdíl emps_with_deps); Alg6: = projekt lname, fname
(Emps_without_deps njoin zaměstnance);
Query (sedm) â € “”Firma
Vypsat jména manažerů, kteří mají alespoň jeden závislý.
Mgrssn (SSN): = Projekt mgrssn (departement); Emps_with_deps (SSN): = Projekt ESSN (závislé); Mgrs_with_deps: = (mgrssn protínají emps_with_deps); Alg7: = projekt lname, fname
(Mgrs_with_deps njoin zaměstnance);

“——————————————————————————————————————————————————

Support translation: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
Relational Algebra
What is an Algebra?
algebra (al-je-bre) noun
Mathematics
1 A generalisation of arithmetic in which symbols, usually letters of the alphabet, represent numbers or members of a specific set of numbers and are related by operations that hold for all numbers in the set.
2 A set together with operations defined in the set that obey specified laws.
3 Word introduced by Arab mathematician al-Khwarizmi (circa 900 AD) and brought over into Latin by Robert of Chester in 1145.

[Middle English, bone-setting and Italian, algebra, both from Medieval Latin, from Arabic al-jabr, the (science of) reuniting: al, the + jabr, reunification, bone-setting.]
Algebraic languages are common in computing: Boolean algebra for logic gates; and Relational algebra for database DML.
Basic ingredients of an algebra are a set (i.e. operand) and operations (i.e. operators) that act on all elements of the set.
Operator properties (for example, consider an integer set and the addition operation) include: Addition is commutative over the integers since 3 + 4 = 4 + 3 (plus(3,4) == plus(4,3)); and Addition is said to be associative over the integers since 3 + (4 + 5) = (3 + 4) + 5 (plus (3,plus(4,5)) == plus(plus(3,4),5))).
Characteristics of the Rel. Algebra
It manipulates entire relations through a
semantically unambigous set of operations (Ed
Codd 1970).

The relational algebra’s sets are the relation’s
extension (tuples,rows) and the operators have
either a set theoretic origin or relation oriented
favour.

A relational algebraic expression has as inputs one
(unary), or two (binary), relations and sometimes a
selection condition.
While an expression’s output is a single relation.

Other Characteristics:

the algebra’s operators work on all of the relation’s tuples;

the algebra has a procedural computational
model;

But it is not “”Turing complete””, one can write a
Pascal program that manipulates relations for
which there is no algebraic equivalent.

a selection condition has to be evaluated against
each tuple independently;

the output of an algebraic operation is an
acceptable input to a consequent algebraic
expression – this is called expression
composition.

Operators: Union (binary)
What about the typing of a relational algebraic expression and its resultant relation?
“”UNION”” COMPATIBILITY (u.c.) of TWO RELATIONS For a binary expression, the two participating relations (operands — R1 and R2) must have the following structural constraints for the expression to be type correct: 1) both relations have the same degree (i.e. n); & 2) for each attribute (1 < = i <= n), the domain (R1.Attr_i) = domain(R2.Attr_i). THE DATA TYPE OF AN Expression’s IF the two relations are in u.c. THEN the relation schema of the resultant is arbitrary chosen to be that of the first operand. ELSE … (operand specific – e.g. product operator) Semantics: The resultant relation has all the tuple present in either the first, the second or both operands.
Typing:
The type of the resultant relation schema is that of the first operand if both operand relations are in u.c.
Notation:
R1 U R2 UNION(R1,R2)
commutative YES associative YES
Operators: Difference (binary)
Semantics:
The resultant relation includes all the tuples of the first operand that are not present in the second operand.
Typing:
The type of the resultant relation schema is that of the first operand if both operand relations are in u.c.
Notation:
R1 – R2 DIFF(R1,R2)
commutative NO associative NO
Operators: Selection (unary)
Semantics:
Create a new relation by extracting from the operand all tuples that satisfy the selection conditions.
Tuples:
The type of the resultant relation schema is equivalent to the operand’s schema.
A selection condition has the following form:
Attribute name Comparison op. Constant value or Attribute name Comparison op. Attribute name
A series of Selection conditions could be combined as in select condition1 AND select condition2 or select condition1 OR select condition2
Some typical comparison operators for ordered domains include >, < , ==, !=, etc
Notation:
(select condition) R1 SELECT (R1, selection condition)
Note:
The resultant is a subset of the operand!

commutative YES associative YES
Relational Algebra: Operators: Product (binary)
Semantics:
Create a new relation by executing a Cartesian product
of the two operands.
(If the cardinalities of R1 and R2 are 60000 and 500
respectively, their product’s cardinality is 60000 * 500 =
3,000,000!)

Typing:
The operands can have any relation schema. The resultant relation schema is equivalent to the concatenation of the operand’s relation schema.
Notation:
This is an extremely computationally expensive
operation!
Also, the resultant extension is not usually meaningful!!

commutative Yes
associative Yes

Operators: Projection (unary)
Semantics:
Create a new relation by removing from the operand all attributes (and consequently their values) that are not mentioned in the projection expression.
Typing:
The type of the resultant schema is equivalent to the operand’s schema but excluding attributes not mentioned in the attribute list.
Notation:
(attr…x1,…,attr_xn) PROJECT(R1,attr_x1,…,attr_xn)
Note:
Duplicate values are implicitly removed!
Further Notes:
In an algebraic expression with a string of projects we have two things going on – restructuring and re-extending!! With certain algebraic manipulations one can overcome these restrictions.
commutative (in general) No associative (in general) No
Minimal set of operators
It can be shown that a subset of the presented operators (specifically the select, project, union, difference and product) are adequate, or complete, to describe the other operators (for example join, intersection etc).
The exclusive use of operators from the complete set make reading some natural algebraic expressions extremely unyielding!
For example, the intersection operator has this form:
INTERSECTION (R1,R2)
is equivalent to DIFF ( UNION (R1,R2), UNION (DIFF(R1,R2), (DIFF(R2,R1) ) )
or equivalent to
DIFF(R1,DIFF(R1,R2))
Why an algebra?
a simple language
set at a time access
semantically sound
expresses the same queries that another relational model based language describes
(i.e. the declarative relational calculus)
procedural
optimisable
Query (one) – Company
Retrieve then name and address of all employees who work for the ‘Research’ department.
research_dept := select dname=’Researcg’ (department);
research_dept_emps := select dnumber=dno (research_dept product employee);
algl1 := project fname, lname, address (research_dept_emps);
Query (two) – Company
For every project located in ‘Stafford’, list the Project number, the controlling department number, And the department manager’s last name, address, And birthdate.
Stafford-_projs := select plocation=’Stafford’ (projects);
Contr_dept := select dnum-dnumber (Stafford_projs product department);
proj_dept_mgr := select mgrssn=ssn (contr_dept product employee);
alg2 := project pnumber, dnum, lname, address, bdate (proj_dept_mgr);
Query (three) – Company
Find the names of employees who work on all the Projects controlled by department number 5.
Dept5_projs(pno) := project pnumber (select dnum=5 (projects)); emp_proj(ssn,pno) := project essn, pno (works_on); emp_proj_ssns := project ssn (emp_proj); % All possibilities of employees working on dept5 projects. Poss_emps_dept5 := (dept5_projs product emp_proj_ssns);/ % Employees that don’s work on all dept5 projects.. emps_not_dept5 :=project ssn (poss_emps_dept5 difference emp_proj); result_emp_ssns :=emp proj ssns difference emps_not_dept5; alg3 :=project lname, fname (result_emp_ssns njoin employee);
Query (four) – Company
Make a list of project numbers for projects that Involve an employee whose last name is ‘Smith’, Either as a worker or as a manager of the Department that controls the project.
Smiths(essn) := project ssn (select lname= ‘Smith’ (employee));
smith_worker_projs := project pno (works_on njoin smiths);
mgrs := project lname, dnumber (select ssn=mgrssn (employee product department));
smith_mgrs := selecy lname=’Smith’ (mgrs);
smith_managed_depts(dnum) := project dnumber (smith_mgrs);
smith_mgr_projs(pno) := project pmumber (smith_managed_depts njoin projects);
alg3 := smith_worker_projs union smith_mgr_projs;
Query (five) – Company
List the names of all employees with two or more Dependents.
% Make two copies of employees with dependents.
Empdep1(essn, depname1) := project essn, dependent_name (dependent);
empdep2(essn2, depname2) := empdep1;
& Employees with more than one dependent.
Emps_gtone_dep(ssn) := project essn1 (select (essn=essn2) and (depname1<>depname2) (empdep1 product empdep2));
alg5 := project lname, fname (employee njoin emps)gtone_dep);
Query (six) – Company
Retrieve the names of employees who have no Dependents.
All_emps := project ssn (employee); Emps_with_deps(ssn) := project essn (dependent); Emps_without_deps := (all_emps
Difference emps_with_deps); Alg6 := project lname, fname
(emps_without_deps njoin employee);
Query (seven) – Company
List the names of managers who have at least One dependent.
Mgrssn(ssn) := project mgrssn (department); Emps_with_deps(ssn) := project essn (dependent); Mgrs_with_deps := (mgrssn intersect emps_with_deps); Alg7 := project lname, fname
(mgrs_with_deps njoin employee);

“——————————————————————————————————————————————————

Subteno traduko: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
rilata algebro
Kio estas Algebro?
algebro (al la-je-bre) substantivo
matematikon
1 Ĝeneraligo de aritmetiko en kiu simboloj, kutime literoj de la alfabeto, reprezenti nombrojn aŭ membroj de specifa aro de nombroj kaj estas rilatigitaj de operacioj kiuj tenas por ĉiuj nombroj en la aro.
2 starigis kune kun operacioj difinitaj en la aro obeas specifa leĝoj.
3 Vorto enkondukita de araba matematikisto Al-Khwarizmi (ĉirkaŭ 900 pK) kaj alportis super en la latinan far Robert de Chester en 1145.

[Meza angla, osto-scenaro kaj itala, algebro, ambaŭ el la mezepoka latina, el la araba al-Jabr, la (scienco) kunveni: Al, la + Jabr, reunuiĝo, osto-scenaro.]
Algebraj lingvoj estas komuna en komputiko: Bulea algebro por logiko pordegoj; kaj Rilata algebro por datumbazo DML.
Bazaj ingrediencoj de algebro estas aro (tio argumento) kaj operacioj (tio operatoroj) kiuj agas sur ĉiuj eroj de la aro.
Operatoro proprietojn (ekzemple, konsideri entjero fiksita kaj la aldono operacio) inkluzivi: Aldono estas komuta super la entjeroj ekde 3 + 4 = 4 + 3 (plus (3,4) == plus (4.3)); kaj Aldono laŭdire estas asocieca super la entjeroj ekde 3 + (4 + 5) = (3 + 4) + 5 (plus (3, pli (4,5)) == plus (plus (3,4), 5 ))).
Karakterizaĵoj de la Rel. algebro
Ĝi manipulas tuta rilatoj tra
semantike unambigous aro de operacioj (Ed
Codd 1970).

La rilata algebro de aroj estas la rilato de
etendo (opoj, vicoj) kaj la telefonistoj havas
ĉu aroteoria origino aŭ rilato orientita
favoron.

A rilata algebra esprimo havas kiel enigoj unu
(Unuloka), aŭ du (duuma), rilatoj kaj foje
selektado kondiĉo.
Dum esprimo eligo estas sola rilato.

Aliaj Karakterizaĵoj:

la algebro de operatoroj labori sur ĉiuj de la rilato de opoj;

la algebro havas proceduraj komputa
modelo;

Sed ne “”Turing kompleta””, oni povas skribi
Pascal programo kiu manipulas uzadon
kiu ne estas algebra ekvivalento.

elekton kondiĉo devas esti taksitaj kontraŭ
ĉiu opo sendepende;

la eligo de algebra operacio estas
akceptebla enigo al konsekvencaj algebra
esprimo – tio nomiĝas esprimo
komponado.

Telefonistoj Union (binara)
Kio pri la tajpado de rilata algebra esprimo kaj ĝia rezulta rilato?
“”UNION”” KONGRUECA (uc) de DU RILATOJ Por duuma esprimo, la du partoprenantaj rilatoj (argumentoj – R1 kaj R2) devas havi la sekvajn strukturaj limoj por la esprimo esti tipo korekta: 1) ambaŭ rilatoj havas la saman gradon ( te n); & 2) por ĉiu atributo (1 <= i <= n), la domajno (R1.Attr_i) = domajno (R2.Attr_i). La datumtipo de esprimo de IF la du rilatoj estas en u.c. POSTE la rilato skemo de la rezultanto estas arbitra elektitaj por esti tiu de la unua argumento. Alian … (argumento specifa – ekz-e produkto operatoro) Semantiko: La rezulta rilato havas tutan opo ĉeestas en aŭ la unua, la dua aŭ ambaŭ operandoj.
tajpanta:
La tipo de la rezulta rilato skemo estas tiu de la unua argumento se ambaŭ argumento rilatoj estas en u.c.
skribmaniero:
R1 Aŭ R2 UNION (R1, R2)
komuta JES asocieca JES
Operatoroj: Malsamoj (binara)
semantiko:
La rezulta rilato inkludas ĉiujn opoj de la unua argumento kiu ne estas prezencoj en la dua argumento.
tajpanta:
La tipo de la rezulta rilato skemo estas tiu de la unua argumento se ambaŭ argumento rilatoj estas en u.c.
skribmaniero:
R1 – R2 DIFF (R1, R2)
komuta NO asocieca NO
Operatoroj: Elekto (unuloka)
semantiko:
Krei novan rilaton ĉerpante el la argumento ĉiuj opoj kiuj kontentigas la selektado kondiĉoj.
opoj:
La tipo de la rezulta rilato skemo estas ekvivalenta al la argumento de la skemo.
Elekto kondiĉo havas la sekvan formon:
Atribui nomi Komparo op. Konstanta valoro aŭ Atribui nomon Komparo op. atribui nomon
Serio de Selektado kondiĉoj povus esti kombinitaj kiel en unuaranga condition1 KAJ unuaranga condition2 aŭ unuaranga condition1 AŬ unuaranga condition2
Iu tipa komparo operatoroj por ordigantaj domajnoj inkludas>, <, ==,! =, Ktp
skribmaniero:
(Elektu kondiĉo) R1 ELEKTU (R1, selektado kondiĉo)
Notu:
La rezulta estas subaro de la argumento!

komuta JES asocieca JES
Rilata algebro: Funkciigistoj: Produkto (binara)
semantiko:
Krei novan rilaton de ekzekutante Kartezia produto
el la du argumentoj.
(Se la kardinaloj de R1 kaj R2 estas 60000 kaj 500
respektive, ilia produkto kardinalo estas 60000 * 500 =
3,000,000!)

tajpanta:
La argumentoj povas havi iun rilaton skemo. La rezulta rilato skemo estas ekvivalenta al la kunmeto de la argumento estas rilato skemo.
skribmaniero:
Tio estas ekstreme kompute multekosta
operacion!
Ankaŭ, la rezulta etendo estas ne kutime signfa !!

komuta Jes
asocieca Jes

Operatoroj: Projekcio (unuloka)
semantiko:
Krei novan rilaton per forigo de la argumento ĉiuj atributoj (kaj sekve iliajn valorojn) kiuj ne estas menciitaj en la projekcio esprimo.
tajpanta:
La tipo de la rezulta skemo estas ekvivalenta al la argumento de la skemo sed ekskludante atributoj ne menciita en la atributo listo.
skribmaniero:
(Attr … x1, …, attr_xn) PROJEKTO (R1, attr_x1, …, attr_xn)
Notu:
Duplikatajn valoroj implicite forigita!
Plia Notoj:
En algebra esprimo per ŝnuro de projektoj ni havas du aferoj okazas – restrukturado kaj re-etendante !! Kun certaj algebraj manipuladoj povas venki tiujn limigojn.
komuta (ĝenerale) Neniu asocieca (ĝenerale) Ne
Minimuma aro de telefonistoj
Ĝi povas esti montrita ke subaro de la prezentita operatoroj (specife la unuaranga, projekto, sindikataj, diferenco kaj produto) estas adekvata, aŭ kompleta, por priskribi la aliaj telefonistoj (ekzemple aliĝi, komunaĵo ktp).
La ekskluziva uzo de telefonistoj de la kompleta aro faras legante iuj naturaj algebraj esprimoj ege nefleksebla!
Ekzemple, la komunaĵo operatoro havas tiun formon:
Komunaĵo (R1, R2)
estas ekvivalenta al DIFF (UNIO (R1, R2), UNION (DIFF (R1, R2), (DIFF (R2, R1)))
aŭ ekvivalenta al
DIFF (R1, DIFF (R1, R2))
Kial algebro?
simpla lingvo
fiksita samtempe aliro
semantike sono
esprimas la saman demandoj ke alia rilata modelo bazita lingvo priskribas
(Tio la enunciativo rilata kalkulo)
proceduraj
optimisable
Informpeto (unu) â € “”Kompanio
Elsxuti tiam nomi kaj adreso de ĉiuj oficistoj kiuj laboras por la â € ~Researchâ € ™ fako.
research_dept: = unuaranga dname = â € ™ Researcgâ € ™ (departemento);
research_dept_emps: = unuaranga dnumber = dno (research_dept produkto oficisto);
algl1: = projekto fname, lname, adreso (research_dept_emps);
Informpeto (du) â € “”Kompanio
Por ĉiu projekto lokita en â € ~Staffordâ € ™, listigi la Projekto nombro, la kontrolado fako nombro, Kaj la fako managerâ € ™ s familinomo, adreso, Kaj dato de naskiĝo.
Stafford-_projs: = unuaranga plocation = â € ™ Staffordâ € ™ (projektoj);
Contr_dept: = unuaranga dnum-dnumber (Stafford_projs produkto fako);
proj_dept_mgr: = unuaranga mgrssn = SSN (contr_dept produkto oficisto);
alg2: = projekto pnumber, dnum, lname, adreson, bdate (proj_dept_mgr);
Informpeto (tri) â € “”Kompanio
Trovi la nomojn de oficistoj kiuj laboras sur ĉiuj projektoj kontrolitaj fare fako numero 5.
Dept5_projs (PNO): = projekto pnumber (elektu dnum = 5 (projektoj)); emp_proj (SSN, PNO): = projekto essn, PNO (works_on); emp_proj_ssns: = projekto SSN (emp_proj); % Ĉiuj eblecoj de oficistoj laboras pri dept5 projektoj. Poss_emps_dept5: = (dept5_projs produkto emp_proj_ssns); /% Oficistoj ke Doña € ™ s laboro sur ĉiuj dept5 projektoj .. emps_not_dept5: = projekto SSN (poss_emps_dept5 diferenco emp_proj); result_emp_ssns: = EMP proj SNA diferenco emps_not_dept5; alg3: = projekto lname, fname (result_emp_ssns njoin oficisto);
Informpeto (kvar) â € “”Kompanio
Fari liston de projekto nombroj por projektoj kiuj implikas dungito kies familinomo estas € ~Smithâ € ™, Aŭ kiel laboristo aŭ kiel direktisto de la Fako, kiu kontrolas la projekto.
Forĝistoj (essn): = projekto SSN (elektu lname = â € ~Smithâ € ™ (oficisto));
smith_worker_projs: = projekto PNO (works_on njoin forĝistojn);
mgrs: = projekto lname, dnumber (elektu SSN = mgrssn (oficisto produkto fako));
smith_mgrs: = selecy lname = â € ™ Smithâ € ™ (mgrs);
smith_managed_depts (dnum): = projekto dnumber (smith_mgrs);
smith_mgr_projs (PNO): = projekto pmumber (smith_managed_depts njoin projektoj);
alg3: = smith_worker_projs unio smith_mgr_projs;
Informpeto (kvin) â € “”Kompanio
Listigi la nomojn de ĉiuj dungitoj kun du aŭ pli dependaj.
% Make du kopioj de oficistoj kun dependantoj.
Empdep1 (essn, depname1): = projekto essn, dependent_name (dependa);
empdep2 (essn2, depname2): = empdep1;
& Oficistoj kun pli dependaj.
Emps_gtone_dep (SSN): = projekto essn1 (elektu (essn = essn2) kaj (depname1 <> depname2) (empdep1 produkto empdep2));
alg5: = projekto lname, fname (oficisto njoin emps) gtone_dep);
Informpeto (ses) – Entrepreno
Elsxuti la nomoj de oficistoj kiuj ne havas dependaj.
All_emps: = projekto SSN (oficisto); Emps_with_deps (SSN): = projekto essn (dependa); Emps_without_deps: = (all_emps
Diferenco emps_with_deps); Alg6: = projekto lname, fname
(Emps_without_deps njoin oficisto);
Informpeto (sep) â € “”Kompanio
Listigi la nomojn de perantoj, kiuj havas almenaŭ unu dependa.
Mgrssn (SSN): = projekto mgrssn (departemento); Emps_with_deps (SSN): = projekto essn (dependa); Mgrs_with_deps: = (mgrssn sekci emps_with_deps); Alg7: = projekto lname, fname
(Mgrs_with_deps njoin oficisto);

“——————————————————————————————————————————————————

Tõlkimise toetamise: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
relatsioonalgebra
Mis on algebra?
algebra (al-je-BRE) nimisõna
Matemaatika
1 üldistus aritmeetika, kus sümbolid, tavaliselt tähestiku, arvude või liikmete konkreetsete numbrite ja on omavahel seotud toimingud, mis hoiavad kõik numbrid komplekti.
2 komplekti koos tegevuse määratletud komplekt sõnakuulelikud määratud seadustega.
3 Word kehtestatud Araabia matemaatik al-Khwarizmi (ca 900 AD) ja tõi üle ladina Robert Chester 1145.

[Lähis-inglise, luu-seade ja Itaalia, algebra, nii Keskaja ladina, araabia al-Jabr on (teadus) taasühinevate: al on + Jabr, taasühendamise, luu-seade.]
Algebraic keeltes on levinud computing: Boole’i algebra loogikaventiilide; ja relatsioonalgebra andmebaasi DML.
Põhilised koostisosad algebra on kogum (ehk operandi) ja toimingud (nt ettevõtjad), mis toimivad kõigi elementide kogum.
Operaator omadused (näiteks kaaluda täisarv seatud ja lisaks operatsioon) on järgmised: lisamine on kommutatiivne üle täisarvud alates 3 + 4 = 4 + 3 (pluss (3,4) == pluss (4,3)); ja lisamine on öelnud, et assotsiatiivne üle täisarvud alates 3 + (4 + 5) = (3 + 4) + 5 (pluss (3 pluss (4,5)) == pluss (pluss (3,4), 5 ))).
Omadused Rel. algebra
See manipuleerib kogu suhete kaudu
semantiliselt unambigous toimingute kogum (Toim
Codd 1970).

Relatsiooniline algebra on komplekti on seotud tema
laiendamine (tuples, read) ja operaatorid on
kas seatud teoreetilise päritolu või seoses orienteeritud
soodustada.

Relatsiooniline algebraline väljendil on sisendiks üks
(Unaarse) või kaks (binaarsed), suhted ja mõnikord
valikut seisukorras.
Kuigi väljend väljund on ühe suhtes.

Muud omadused:

algebra operaatorite tööd kõik seoses on tuples;

algebra on menetlusõiguse arvutuslikke
mudel;

Kuid see ei ole “”Turingi täielik””, võib kirjutada
Pascal programm, mis manipuleerib suhteid
kus puudub algebralise samaväärne.

valiku tingimus tuleb hinnata
iga korteež iseseisvalt;

toodangu algebraline operatsioon on
vastuvõetav sisendi tulenev algebraline
Väljend – seda nimetatakse ekspressiooni
koosseisu.

Ettevõtjad: Liit (binaarne)
Aga kirjutades suhtlev algebraline väljendus ja selle tulemuseks seoses?
“”Liit”” ÜHILDUVUST (UC) kahe SUHTED binaarne väljendus, kahe osaleva suhted (operandide – R1 ja R2) peavad olema järgmised struktuuriliste piirangute eest väljendusvabadust tüübist õige: 1) nii suhted on samal tasemel ( st n); Ja 2) iga omaduse (1 <= i <= n), domeeni (R1.Attr_i) = domeeni (R2.Attr_i). Andmetüüpi väljendus If kahe suhted on u.c Siis seoses skeemi tulemuseks on meelevaldne valitakse, et esimese operandi. VEEL … (operandi konkreetsed – nt toote operaator) Semantika: Saadud seoses on kõik korteež olemas kas esimene, teine või mõlemad operandid.
Kirjutamise:
Tüüp tulemuseks seoses skeemi on see, et esimese operandi kui mõlemad operandi suhted on u.c
märge:
R1 U R2 LIIDU (R1, R2)
kommutatiivne YES assotsiatiivne JAH
Ettevõtjad: Difference (binaarne)
Semantika:
Saadud seoses hõlmab kõiki ennikud esimese operandi, mis ei esine teises operandi.
Kirjutamise:
Tüüp tulemuseks seoses skeemi on see, et esimese operandi kui mõlemad operandi suhted on u.c
märge:
R1 – R2 DIFF (R1, R2)
kommutatiivne NO assotsiatiivne NO
Ettevõtjad: Valik (unaarse)
Semantika:
Loo uus seoses ekstraheerimise teel saadud operandi kõik tuples et rahuldada valikut tingimused.
tuples:
Tüüpi saadud seoses skeemi on samaväärne operandi s skeemi.
Valik tingimus on järgmine kuju:
Atribuudi nimi Võrdlus op. Pidev väärtus või omadus nimi Võrdlus op. atribuudi nimi
Seeria valik tingimustes võiks ühendada kui valitud CONDITION1 ja valige CONDITION2 või valige CONDITION1 või valige CONDITION2
Mõned tüüpilised võrreldes operaatorite tellitud domeenide hulka>, <, ==,! = Jne
märge:
(Valige seisukorras) R1 SELECT (R1, valiku tingimus)
Märge:
Saadud on alamhulk operandi!

kommutatiivne YES assotsiatiivne JAH
Relatsioonalgebra: Ettevõtjad: Toode (binaarne)
Semantika:
Loo uus seoses täites Descartes’i toote
Kahe operandidel.
(Kui hulkade R1 ja R2 on 60000 ja 500
vastavalt oma toote kardinaalsusega on 60000 * 500 =
3000000!)

Kirjutamise:
Operandi võib olla mingi seos skeemi. Saadud seoses skeemi on samaväärne mõtteahelaks operandi seotus skeemi.
märge:
See on äärmiselt arvutuslikult kallis
töös!
Ka sellest tulenev pikendamine ei ole tavaliselt mõttekas !!

kommutatiivne Jah
assotsiatiivne Jah

Ettevõtjad: projekteerimine (unaarse)
Semantika:
Loo uus seoses kõrvaldades sealt operandi kõik atribuudid (ja sellest tulenevalt nende väärtused), mis ei ole nimetatud projektsiooni väljendus.
Kirjutamise:
Tüüp tulemuseks skeem vastab operandi on skeem, kuid mitte atribuute ei mainita atribuut nimekirja.
märge:
(Attr … x1, …, attr_xn) projekt (R1, attr_x1, …, attr_xn)
Märge:
Duplikaatväärtused kaudselt eemaldada!
Märgib lisaks:
In algebraline ekspressiooni mitut projekti on meil kaks asja pooleli – ümberstruktureerimise ja ulatub !! Teatud algebraline manipulatsioonid võib ületada need piirangud.
kommutatiivne (üldiselt) nr assotsiatiivne (üldiselt) nr
Minimaalne komplekt operaatorid
On võimalik näidata, et alagrupis esitatakse ettevõtjad (täpsemalt valige, projekti Liidu erinevust ja toode) on piisav, või täielik, et kirjeldada teiste operaatorite (näiteks liituda, ristmik jne).
Eksklusiivne kasutamine operaatorid komplekt muudavad lugemist mõned looduslikud algebravõrrandeid väga järeleandmatut!
Näiteks ristmiku operaatoril on selles vormis:
Ristmikul (R1, R2)
on samaväärne Diff (Union (R1, R2), Union (erin (R1, R2), (erin (R2, R1)))
või samaväärne
Vahe (R1, Vahe (R1, R2))
Miks algebra?
lihtsas keeles
määratud ajal juurdepääs
semantiliselt heli
väljendab sama päringuid, et teine relatsiooniline mudel põhineb keeles kirjeldab
(St deklaratiivne relatsiooniline kivi)
menetluslikud
optimisable
Query (üks) ā € “”Ettevõte
Too siis nime ja aadressi kõigile töötajatele, kes töötavad ā € ~Researchâ € ™ osakonda.
research_dept: = valige dname = a € ™ Researcgâ € ™ (departemang);
research_dept_emps: = valige dnumber = dno (research_dept toote töötaja);
algl1: = projekti fname, lname, aadress (research_dept_emps);
Query (kaks) ā € “”Ettevõte
Iga projekt asub € ~Staffordâ € ™, loetleda Projekti number, kontrolliosakonna juhataja number ja osakonna managerâ € ™ s perekonnanimi, aadress ja sünnikuupäev.
Stafford-_projs: = valige plocation = a € ™ Staffordâ € ™ (projektid);
Contr_dept: = valige dnum-dnumber (Stafford_projs toote osakond);
proj_dept_mgr: = valige mgrssn = SSN (contr_dept toote töötaja);
alg2: = projekti pnumber, dnum, lname, aadress, bdate (proj_dept_mgr);
Query (kolm) ā € “”Ettevõte
Leia nimed töötajad, kes töötavad kõik projektid kontrollib osakonna number 5.
Dept5_projs (PNO): = projekti pnumber (vali dnum = 5 (projektide)); emp_proj (SSN, PNO): = projekti essn, PNO (works_on); emp_proj_ssns: = projekti SSN (emp_proj); % Kõik võimalused töötajate kallal dept5 projekte. Poss_emps_dept5: = (dept5_projs toote emp_proj_ssns); /% Töötajad et dona € ™ s tööd kogu dept5 projektide .. emps_not_dept5: = projekti SSN (poss_emps_dept5 erinevus emp_proj); result_emp_ssns: = emp proj ssns erinevus emps_not_dept5; alg3: = projekti lname, fname (result_emp_ssns njoin töötaja);
Query (neli) ā € “”Ettevõte
Tee nimekiri projekti numbrid projekte, mis sisaldavad töötaja, kelle perekonnanimi on € ~Smithâ € ™, kas töötaja või juhina osakonna, mis kontrollib projekti.
Smiths (essn): = projekti SSN (vali lname = ā € ~Smithâ € ™ (töötaja));
smith_worker_projs: = projekti PNO (works_on njoin sepad);
MGRS: = projekti lname, dnumber (vali SSN = mgrssn (töötaja toode osakond));
smith_mgrs: = selecy lname = a € ™ Smitha € ™ (MGRS);
smith_managed_depts (dnum): = projekti dnumber (smith_mgrs);
smith_mgr_projs (PNO): = projekti pmumber (smith_managed_depts njoin projektid);
alg3: = smith_worker_projs Liidu smith_mgr_projs;
Query (viis) ā € “”Ettevõte
Loetleda kõik töötajad koos kahe või enama ülalpeetava.
% Tee kahes eksemplaris töötaja ülalpeetavate.
Empdep1 (essn, depname1): = projekti essn, dependent_name (sõltuv);
empdep2 (essn2, depname2): = empdep1;
& Töötajad rohkem kui ühe sõltuv.
Emps_gtone_dep (SSN): = projekti essn1 (vali (essn = essn2) ja (depname1 <> depname2) (empdep1 toote empdep2));
alg5: = projekti lname, fname (töötaja njoin EMPs) gtone_dep);
Query (kuus) – Ettevõtte
Too nimed töötajad, kellel on ülalpeetavaid ei ole.
All_emps: = projekti SSN (töötaja); Emps_with_deps (SSN): = projekti essn (sõltuv); Emps_without_deps: = (all_emps
Erinevus emps_with_deps); Alg6: = projekti lname, fname
(Emps_without_deps njoin töötaja);
Query (seitse) ā € “”Ettevõte
Loetleda juhid, kellel on vähemalt üks ülalpeetav.
Mgrssn (SSN): = projekti mgrssn (departemang); Emps_with_deps (SSN): = projekti essn (sõltuv); Mgrs_with_deps: = (mgrssn lõikuvad emps_with_deps); Alg7: = projekti lname, fname
(Mgrs_with_deps njoin töötaja);

“——————————————————————————————————————————————————

Support translation: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
pamanggit algebra
Ano ang Algebra?
algebra (al-je-bre) pangngalan
matematika
1 A kalahatan ng arithmetic kung saan simbolo, karaniwang mga titik ng alpabeto, kinakatawan ng mga numero o mga miyembro ng isang tiyak na hanay ng mga numero at ay may kaugnayan sa pamamagitan ng mga operasyon na hold para sa lahat ng mga numero sa hanay.
2 Ang isang set kasama operasyon tinukoy sa set na mga nagsisitalima sa tinukoy na mga batas.
3 Word ipinakilala sa pamamagitan ng Arab mathematician al-Khwarizmi (circa 900 AD) at nagdala ng higit sa Latin sa pamamagitan ng Robert ng Chester sa 1145.

[Middle English, buto-setting at Italyano, algebra, parehong mula sa Medieval Latin, mula sa Arabic al-jabr, ang (agham ng) reuniting:. Al, ang + jabr, reunification, buto-setting]
Algebraic wika ay karaniwan sa computing: Boolean algebra para sa lohika pintuang-bayan; at pamanggit algebra para sa database DML.
Basic ingredients ng isang algebra ay isang hanay (ibig sabihin, operand) at mga operasyon (ibig sabihin, mga operator) na kumilos sa lahat ng mga elemento ng set.
Operator properties (halimbawa, isaalang-alang ng isang integer set at ang karagdagan operasyon) ay kinabibilangan ng: Addition ay commutative ibabaw ng integers mula noong 3 + 4 = 4 + 3 (plus (3,4) == plus (4,3)); at Addition ay sinabi na maging nag-uugnay sa ibabaw ng integers mula noong 3 + (4 + 5) = (3 + 4) + 5 (plus (3, plus (4,5)) == plus (plus (3,4), 5 ))).
Mga katangian ng ang Rel. alhebra
Ito manipulates buong relasyon sa pamamagitan ng isang
semantically unambigous hanay ng mga operasyon (Ed
Codd 1970).

set ang pamanggit algebra ay ang mga kaugnayan Ni
extension (tuples, mga hilera) at ang operator ay may
alinman sa isang set panteorya pinagmulan o may kaugnayan oriented na
pabor.

A pamanggit algebraic expression ay may bilang inputs isa
(Unary), o dalawang (binary), relasyon at kung minsan ng
pagpili kondisyon.
Habang output ng isang expression ay isang solong ugnayan.

Ibang katangian:

operator ang algebra ni gumana sa lahat ng mga tuples ang kaugnayan ni;

ang algebra ay isang pamamaraan computational
modelo;

Ngunit ito ay hindi “”Turing kumpletong””, maaari isa sumulat ng isang
Pascal program na manipulates relasyon para
kung saan walang algebraic katumbas.

isang kalagayan na seleksyon ay dapat sinusuri laban
bawat tuple nang nakapag-iisa;

ang output ng isang algebraic operasyon ay isang
katanggap-tanggap na input sa isang kahihinatnang algebraic
expression – ito ay tinatawag na expression
komposisyon.

Operators: Union (binary)
Ano ang tungkol sa pag-type ng isang pamanggit algebraic expression at ang nagreresultang ugnayan?
“”UNION”” Pagkakatugma (uc) ng TWO RELATIONS Para sa isang binary expression, ang dalawang kalahok relasyon (operands – R1 at R2) ay dapat magkaroon ng mga sumusunod estruktural limitasyon para sa expression upang maging type tama: 1) parehong relasyon ay may parehong degree ( ie n); & 2) para sa bawat katangian (1 <= i <= n), ang domain (R1.Attr_i) = domain (R2.Attr_i). THE DATA TYPE OF AN Expression ni KUNG ang dalawang relasyon ay sa u.c. Pagkatapos ang kaugnayan schema ng nagreresultang ay arbitrary piniling upang maging na ng unang operand. ELSE … (operand tiyak – hal produkto operator) Semantics: Ang nanggagaling kaugnayan mayroon ng lahat ng tuple naroroon sa alinman sa unang, ang pangalawang o pareho operands.
Typing:
Ang uri ng ang nanggagaling kaugnayan schema ay na sa mga unang operand kung ang parehong operand relasyon ay sa u.c.
Notasyon:
R1 U R2 UNION (R1, R2)
commutative YES associative YES
Operators: Pagkakaiba (binary)
semantics:
Ang nanggagaling kaugnayan kasama ang lahat ng tuples ng unang operand na ay hindi naroroon sa ang ikalawang operand.
Typing:
Ang uri ng ang nanggagaling kaugnayan schema ay na sa mga unang operand kung ang parehong operand relasyon ay sa u.c.
Notasyon:
R1 – R2 DIFF (R1, R2)
commutative NO associative NO
Operators: Selection (unary)
semantics:
Lumikha ng isang bagong kaugnayan sa pamamagitan ng extracting mula sa operand lahat tuples na bigyang-kasiyahan ang mga kondisyon ng pagpili.
tuples:
Ang uri ng ang nanggagaling kaugnayan schema ay katumbas ng schema operand ni.
Isang kondisyon pagpili ay ang mga sumusunod na form:
Attribute pangalanan Pagkukumpara op. Constant halaga o Pangalan ng katangian Pagkukumpara op. pangalan ng katangian
Ang isang serye ng mga kondisyon Selection ay maaaring pinagsama bilang sa mga piling condition1 AND piliin condition2 o piliin condition1 OR piliin condition2
Ang ilang mga karaniwang paghahambing operator para iniutos domain isama>, <, ==,! =, Etc
Notasyon:
(Piliin ang kalagayan) R1 SELECT (R1, pagpili kalagayan)
tandaan:
nagreresultang ay isang subset ng mga operand!

commutative YES associative YES
Pamanggit Algebra: Operator: Product (binary)
semantics:
Lumikha ng isang bagong kaugnayan sa pamamagitan ng Isinasagawa ang isang Kartesyan produkto
sa dalawang operands.
(Kung ang cardinalities ng R1 at R2 ay 60000 at 500
ayon sa pagkakabanggit, cardinality ang kanilang mga produkto ay 60000 * 500 =
3,000,000!)

Typing:
Ang operands maaaring magkaroon ng anumang kaugnayan schema. Ang nanggagaling kaugnayan schema ay katumbas ng pagdudugtong ng kaugnayan schema operand ni.
Notasyon:
Ito ay isang lubhang computationally mahal
operasyon!
Gayundin, ang nanggagaling extension ay hindi karaniwan ay makabuluhan !!

commutative Oo
associative Oo

Operators: Projection (unary)
semantics:
Lumikha ng isang bagong kaugnayan sa pamamagitan ng pagtanggal mula sa operand lahat ng mga katangian (at dahil diyan ang kanilang mga halaga) na hindi nabanggit sa mga projection expression.
Typing:
Ang uri ng ang nanggagaling schema ay katumbas ng schema operand ni ngunit hindi kasama ang mga katangian na hindi nabanggit sa listahan attribute.
Notasyon:
(Attr … x1, …, attr_xn) PROJECT (R1, attr_x1, …, attr_xn)
tandaan:
Duplicate halaga ay nang kataon lamang tinanggal!
Ang karagdagang Tala:
Sa isang algebraic expression na may isang string ng mga proyekto kami ay may dalawang mga bagay na nangyayari – Muling pagbubuo at muling pagpapalawak !! Sa ilang mga algebraic manipulations isa ay maaaring pagtagumpayan ang mga paghihigpit.
commutative (in general) No associative (in general) No
Minimal set ng mga operator
Maaari itong i-ipinapakita na ang isang subset ng mga iniharap operator (partikular na ang piliin, proyekto, union, pagkakaiba at produkto) ay sapat, o kumpleto, upang ilarawan ang iba pang mga operator (halimbawa sumali, intersection atbp).
Ang eksklusibong paggamit ng mga operator mula sa kumpletong hanay gumawa ng pagbabasa ng ilang mga natural algebraic expression lubhang matigas ang ulo!
Halimbawa, ang intersection operator ay may form na ito:
INTERSECTION (R1, R2)
ay katumbas ng diff (UNION (R1, R2), UNION (diff (R1, R2), (diff (R2, R1)))
o katumbas ng
DIFF (R1, DIFF (R1, R2))
Bakit ang isang algebra?
isang simpleng wika
itakda sa isang pagkakataon access
semantically tunog
expresses ang parehong mga query na ang isa pang pamanggit modelo na nakabatay sa wika ay naglalarawan
(Ibig sabihin, ang paturol pamanggit calculus)
pamamaraan
optimisable
Query (isa) â € “”Company
Kunin muli pagkatapos pangalanan at address ng lahat ng mga empleyado na nagtatrabaho para sa â € ~Researchâ € ™ department.
research_dept: = piliin DNAME = â € ™ Researcgâ € ™ (department);
research_dept_emps: = piliin dnumber = dno (research_dept produkto employee);
algl1: = proyekto fname, lname, address (research_dept_emps);
Query (dalawang) â € “”Company
Para sa bawat proyekto na matatagpuan sa â € ~Staffordâ € ™, ilista ang bilang Project, ang pagkontrol department number, At ang department managerâ € ™ s huling pangalan, tirahan, at petsa ng kapanganakan.
Stafford-_projs: = piliin plocation = â € ™ Staffordâ € ™ (proyekto);
Contr_dept: = piliin dnum-dnumber (Stafford_projs produkto department);
proj_dept_mgr: = piliin mgrssn = SSN (contr_dept produkto employee);
alg2: = proyekto pnumber, dnum, lname, address, bdate (proj_dept_mgr);
Query (tatlong) â € “”Company
Hanapin ang mga pangalan ng mga empleyado na nagtatrabaho sa lahat ng mga Proyekto kontrolado ng department number 5.
Dept5_projs (pno): = proyekto pnumber (piliin dnum = 5 (proyekto)); emp_proj (SSN, pno): = proyekto essn, pno (works_on); emp_proj_ssns: = proyekto SSN (emp_proj); % Lahat posibilidad ng mga empleyado nagtatrabaho sa dept5 proyekto. Poss_emps_dept5: = (dept5_projs emp_proj_ssns produkto); /% empleyado na do not € ™ s trabaho sa lahat ng mga proyekto dept5 .. emps_not_dept5: = proyekto SSN (poss_emps_dept5 pagkakaiba emp_proj); result_emp_ssns: = emp proj SSN pagkakaiba emps_not_dept5; alg3: = proyekto lname, fname (result_emp_ssns njoin employee);
Query (apat) â € “”Company
Gumawa ng isang listahan ng mga numero na proyekto para sa mga proyekto na Kasangkot isang empleyado na ang huling pangalan ko ay â € ~Smithâ € ™, Alinman bilang isang manggagawa o bilang isang manager ng Department na kumokontrol sa proyekto.
Smiths (essn): = proyekto SSN (piliin lname = â € ~Smithâ € ™ (empleyado));
smith_worker_projs: = proyekto pno (works_on njoin mangbabakal);
MGRS: = proyekto lname, dnumber (piliin SSN = mgrssn (empleyado produkto department));
smith_mgrs: = selecy lname = â € ™ Smitha € ™ (MGRS);
smith_managed_depts (dnum): = proyekto dnumber (smith_mgrs);
smith_mgr_projs (pno): = proyekto pmumber (smith_managed_depts njoin proyekto);
alg3: = smith_worker_projs union smith_mgr_projs;
Query (limang) â € “”Company
Ilista ang mga pangalan ng lahat ng mga empleyado na may dalawa o higit pang Dependents.
% Gumawa ng dalawang kopya ng mga empleyado na may dependents.
Empdep1 (essn, depname1): = proyekto essn, dependent_name (nakasalalay);
empdep2 (essn2, depname2): = empdep1;
& Empleyado may higit sa isang umaasa.
Emps_gtone_dep (SSN): = proyekto essn1 (piliin ang (essn = essn2) at (depname1 <> depname2) (empdep1 produkto empdep2));
alg5: = proyekto lname, fname (empleyado njoin emps) gtone_dep);
Query (anim) – Kumpanya
Kunin ang mga pangalan ng mga empleyado na walang Dependents.
All_emps: = proyekto SSN (empleyado); Emps_with_deps (SSN): = proyekto essn (nakasalalay); Emps_without_deps: = (all_emps
Pagkakaiba emps_with_deps); Alg6: = proyekto lname, fname
(Emps_without_deps njoin employee);
Query (pitong) â € “”Company
Ilista ang mga pangalan ng mga tagapamahala na magkaroon ng hindi bababa One umaasa.
Mgrssn (SSN): = proyekto mgrssn (department); Emps_with_deps (SSN): = proyekto essn (nakasalalay); Mgrs_with_deps: = (mgrssn magsalubong emps_with_deps); Alg7: = proyekto lname, fname
(Mgrs_with_deps njoin employee);

“——————————————————————————————————————————————————

Tuki käännös: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
relaatioalgebra
Mikä on Algebra?
algebra (al-je-bre) substantiivi
Matematiikka
1 yleistys aritmeettinen joissa symboleja, yleensä kirjaimet edustavat numeroita tai jäseniä tiettyyn joukko numeroita ja liittyvät toisiinsa toimintoja, jotka koskevat kaikkia numeroita asetettu.
2 asetetaan yhdessä toimintaa määritellään joukko, joka noudattaa tiettyä lakeja.
3 Word käyttöön Arab matemaatikko al-Khwarizmi (noin 900 jKr) ja toi yli latina Robert Chester vuonna 1145.

[Lähi Englanti, ortopedinen ja Italian, algebran, niin keskiajan latina, arabian al-jabr, The (tiede) yhdistäminen: al, olevaa + jabr, yhdistämistä, ortopedinen.]
Algebrallinen kielet ovat yleisiä computing: Boolen algebran logiikan portit; ja relaatioalgebran tietokannan DML.
Perusainesosilla algebran ovat joukko (ts operandi) ja toimintaa (eli operaattorit), jotka toimivat kaikkien osien asetettu.
Operator ominaisuudet (esimerkiksi harkita kokonaisluku asettaa ja lisäksi toiminta) ovat: Lisäys on kommutatiivinen yli kokonaisluvut alkaen 3 + 4 = 4 + 3 (plus (3,4) == plus (4,3)); ja Lisäys sanotaan olevan assosiatiivinen yli kokonaislukuja alkaen 3 + (4 + 5) = (3 + 4) + 5 (plus (3, plus (4,5)) == plus (plus (3,4), 5 ))).
Ominaisuudet Rel. Algebra
Se manipuloi koko suhteet läpi
semanttisesti yksiselitteinen joukko toimintoja (Ed
Codd 1970).

Relaatio algebra n sarjat ovat suhteessa n
laajennus (tuples, rivit) ja operaattorit ovat
joko asettaa teoreettinen alkuperää tai suhteessa suuntautunut
suosia.

Relaatio lausekkeella on panoksina yksi
(Unary), tai kaksi (binäärinen), suhteet ja joskus
valinta kunnossa.
Vaikka ilmaus tuotannosta on yhden suhde.

Muut ominaisuudet:

algebran operaattorit toimivat kaikissa suhteesta n tuplat;

algebran on menettelyyn laskennallinen
malli;

Mutta se ei ole “”Turing täydellinen””, voidaan kirjoittaa
Pascal ohjelma, joka manipuloi suhteet
joka ei ole algebrallinen vastaava.

valinnan edellytys on arvioitava
kukin monikko itsenäisesti;

lähtö algebrallisen toiminta on
hyväksyttävissä tulona seurauksena algebrallisia
lauseke – tätä kutsutaan ilmaus
sävellys.

Operaattorit: Union (binary)
Entä tyypitys ihmissuhteisiin algebralausekkeen ja sen tuloksena suhde?
“”UNION”” SOVELTUVUUS (uc) KAHDEN suhteiden binary ilme, kaksi osallistuvan suhteista (operandit – R1 ja R2) on seuraavat rakenteelliset rajoitukset ekspressiolle on tyyppi oikein: 1) molemmat suhteet ovat yhtä ( eli n); & 2) kunkin ominaisuuden (1 <= i <= n), verkkotunnus (R1.Attr_i) = domain (R2.Attr_i). Tietotyyppi lausekkeen n IF kaksi suhteet ovat u.c. NIIN relaatiokaaviota tuloksena on mielivaltainen valitaan, että ensimmäisen operandin. ELSE … (operandi erityinen – esimerkiksi tuote operaattori) Semantics: Tuloksena suhde on kaikki monikko läsnä joko ensimmäisen, toisen tai molemmat operandit.
kirjoittamalla:
Tyyppi tuloksena relaatiokaaviota on, että ensimmäisen operandin jos molemmat operandi suhteet ovat u.c.
Merkintä:
R1 U R2 UNION (R1, R2)
kommutatiivinen KYLLÄ assosiatiivinen KYLLÄ
Operaattorit: Ero (binary)
Semantiikka:
Saatu suhde sisältää kaikki tuples ensimmäisen operandin, jotka eivät ole läsnä toisessa operandin.
kirjoittamalla:
Tyyppi tuloksena relaatiokaaviota on, että ensimmäisen operandin jos molemmat operandi suhteet ovat u.c.
Merkintä:
R1 – R2 DIFF (R1, R2)
kommutatiivinen NO assosiatiivinen NO
Operaattorit: Valinta (unary)
Semantiikka:
Luo uusi verrattuna uuttamalla operandi kaikki tuplat, jotka täyttävät valinnan edellytykset.
tuples:
Tyyppi tuloksena relaatiokaaviota vastaa operandin n skeema.
Valikoima ehto muoto on seuraavanlainen:
Attribuutin nimi Vertailu op. Vakioarvo tai ominaisuus nimi Vertailu op. määritteen nimi
Sarja Valinta olosuhteet voitaisiin yhdistää kuin valitse ehto1 ja valitsemalla CONDITION2 tai valitse ehto1 TAI valitsemalla CONDITION2
Tyypillisiä vertailuoperaattoreita varten tilattu domeeneja ovat>, <, ==,! =, Jne
Merkintä:
(Valitse ehto) R1 SELECT (R1, valinta ehto)
Huomautus:
Saatu on osajoukko operandin!

kommutatiivinen KYLLÄ assosiatiivinen KYLLÄ
Relaatioalgebra: Operaattorit: Tuote (binary)
Semantiikka:
Luo uusi suhde suorittamalla karteesinen tulo
kahden operandin.
(Jos kardinaliteetteja R1 ja R2 ovat 60000 ja 500
vastaavasti, niiden tuotteen kardinaliteetti on 60000 * 500 =
3.000.000!)

kirjoittamalla:
Operandit voivat olla mitä tahansa relaatiokaaviota. Tuloksena relaatiokaaviota vastaa ketjutus operandin n relaatiokaaviota.
Merkintä:
Tämä on erittäin laskennallisesti kallis
operaatio!
Lisäksi, tuloksena laajentaminen ei ole yleensä merkityksellinen !!

kommutatiivinen Kyllä
assosiatiivinen Kyllä

Operaattorit: Projection (unary)
Semantiikka:
Luo uusi verrattuna poistamalla operandi kaikki määritteet (ja siten niiden arvot), joita ei ole mainittu projektio ilmaisua.
kirjoittamalla:
Tyyppi tuloksena skeema vastaa operandin n skeema ei kuitenkaan ominaisuuksia ei mainita attribuuttilistaa.
Merkintä:
(Attr … x1, …, attr_xn) PROJECT (R1, attr_x1, …, attr_xn)
Huomautus:
Monista arvoja epäsuorasti poistetaan!
Muita Huomautuksia:
Vuonna algebrallinen lauseke merkkijono projekteja meillä on kaksi asioita tapahtuu – rakenteen muuttamiseen ja uudelleen laajentamalla !! Tiettyjen algebrallinen manipulointi voidaan voittaa nämä rajoitukset.
commutative (yleensä) ei assosiatiivinen (yleensä) Ei
Vähäinen joukko toimijoita
Voidaan osoittaa, että osajoukko esitteli toimijoiden (erityisesti valita, projekti, liitto, erotus ja tuote) ovat riittävät, tai täydellistä kuvaamaan muille operaattoreille (esimerkiksi liittyä, risteyksen jne).
Yksinoikeus käyttää toimijat täydellinen lukemista joitakin luonnollisia algebralausekkeissa erittäin taipumaton!
Esimerkiksi risteyksessä operaattori on muotoa:
Leikkauspisteissä (R1, R2)
vastaa DIFF (UNION (R1, R2), UNION (DIFF (R1, R2), (DIFF (R2, R1)))
tai vastaava
DIFF (R1, DIFF (R1, R2))
Miksi algebran?
yksinkertaista kieltä
asettaa kerrallaan pääsy
semanttisesti ääni
ilmaisee samaa kyselyt että toinen relaatiomalliin pohjainen kieli kuvaa
(Eli deklaratiivisten relaatio- hammaskiven)
menettelyyn
optimisable
Kysely (yksi) â € “”Yhtiö
Noutaa sitten nimi ja osoite kaikkien työntekijöiden, jotka työskentelevät â € ~Researchâ € ™ osasto.
research_dept: = select dname = â € ™ Researcgâ € ™ (osasto);
research_dept_emps: = select dnumber = Dno (research_dept tuote työntekijä);
algl1: = projekti fname, lname, osoite (research_dept_emps);
Kysely (kaksi) â € “”Yhtiö
Jokaista hanke sijaitsee â € ~Staffordâ € ™, luetella Projektinumero, määräysvaltaa osasto numero, ja osasto managerâ € ™ s sukunimi, osoite, ja syntymäajan.
Stafford-_projs: = select plocation = â € ™ Staffordâ € ™ (hankkeet);
Contr_dept: = select dnum-dnumber (Stafford_projs tuote osasto);
proj_dept_mgr: = select mgrssn = SSN (contr_dept tuote työntekijä);
alg2: = projekti pnumber, dnum, lname, osoite, bdate (proj_dept_mgr);
Kysely (kolme) â € “”Yhtiö
Etsi työntekijöiden nimet, jotka työskentelevät kaikki projektit ohjataan osaston numero 5.
Dept5_projs (PNO): = projekti pnumber (valitse dnum = 5 (hanketta)); emp_proj (SSN, PNO): = projekti ESSN, PNO (works_on); emp_proj_ssns: = projekti SSN (emp_proj); % Kaikki mahdollisuudet työntekijöistä dept5 projekteja. Poss_emps_dept5: = (dept5_projs tuote emp_proj_ssns); /% Työntekijät, jotka dona € ™ s työtä kaikilla dept5 projekteja .. emps_not_dept5: = projekti SSN (poss_emps_dept5 ero emp_proj); result_emp_ssns: = EMP proj SSNs ero emps_not_dept5; ALG3: = projekti lname, fname (result_emp_ssns njoin työntekijä);
Kysely (neljä) â € “”Yhtiö
Tee lista projektin numerot, joissa on mukana työntekijä, jonka sukunimi on â € ~Smithâ € ™, joko työntekijänä tai johtajana Department, joka ohjaa hankkeen.
Smiths (ESSN): = projekti SSN (valitse lname = â € ~Smithâ € ™ (työntekijä));
smith_worker_projs: = projekti pno (works_on njoin sepät);
MGRS: = projekti lname, dnumber (valitse SSN = mgrssn (työntekijä tuote osasto));
smith_mgrs: = selecy lname = â € ™ Smitha € ™ (MGRS);
smith_managed_depts (dnum): = projekti dnumber (smith_mgrs);
smith_mgr_projs (PNO): = projekti pmumber (smith_managed_depts njoin hankkeet);
ALG3: = smith_worker_projs union smith_mgr_projs;
Kysely (viisi) â € “”Yhtiö
Listaa nimet kaikille työntekijöille kaksi tai useampia henkilöitä huollettavanaan.
% Tee kaksi kopiota työntekijöiden huollettavia.
Empdep1 (ESSN, depname1): = projekti ESSN, dependent_name (riippuvainen);
empdep2 (essn2, depname2): = empdep1;
& Työntekijät, joilla on enemmän kuin yksi riippuvainen.
Emps_gtone_dep (SSN): = projekti essn1 (valitse (ESSN = essn2) ja (depname1 <> depname2) (empdep1 tuote empdep2));
alg5: = projekti lname, fname (työntekijä njoin EMPS) gtone_dep);
Kysely (kuusi) – Company
Nouda työntekijöiden nimet, joilla ei ole huollettavia.
All_emps: = projekti SSN (työntekijä); Emps_with_deps (SSN): = projekti ESSN (riippuvainen); Emps_without_deps: = (all_emps
Ero emps_with_deps); Alg6: = projekti lname, fname
(Emps_without_deps njoin työntekijä);
Kysely (seitsemän) â € “”Yhtiö
Listaa nimet johtajia, jotka ovat vähintään yksi riippuvainen.
Mgrssn (SSN): = projekti mgrssn (osasto); Emps_with_deps (SSN): = projekti ESSN (riippuvainen); Mgrs_with_deps: = (mgrssn leikkaavat emps_with_deps); ALG7: = projekti lname, fname
(Mgrs_with_deps njoin työntekijä);

“——————————————————————————————————————————————————

Traduction de soutien: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
Algèbre relationnelle
Qu’est-ce qu’une algèbre?
algèbre (al-je-rep) nom
Mathématiques
1 Une généralisation de l’arithmétique dans laquelle les symboles, généralement des lettres de l’alphabet, représentent des nombres ou des membres d’un ensemble spécifique de numéros et sont liés par des opérations qui détiennent pour tous les nombres dans l’ensemble.
2 Un ensemble en même temps que les opérations définies dans l’ensemble qui obéissent à des lois déterminées.
3 Mot introduit par le mathématicien arabe al-Khwarizmi (circa 900 AD) et amené plus en latin par Robert de Chester en 1145.

[Moyen anglais, os paramètre et l’italien, l’algèbre, tant du latin médiéval, de l’arabe al-Jabr, la (science) réunissant: al., La réunification, la fixation osseuse + jabr]
langues algébriques sont communs dans l’informatique: l’algèbre booléenne pour portes logiques; et algèbre relationnelle pour la base de données DML.
Les ingrédients de base d’une algèbre sont un ensemble (à savoir opérandes) et les opérations (à savoir les opérateurs) qui agissent sur tous les éléments de l’ensemble.
propriétés de l’opérateur (par exemple, considèrent un nombre entier fixé et l’opération d’addition) comprennent: L’addition est commutative sur les entiers depuis 3 + 4 = 4 + 3 (plus (3,4) == plus (4,3)); et addition est dit associative sur les entiers depuis 3 + (4 + 5) = (3 + 4) + 5 (plus (3, plus (4,5)) == plus (plus (3,4), 5 ))).
Caractéristiques de la Rel. Algèbre
Manipule les relations entier à travers un
ensemble sémantiquement sans ambiguïté des opérations (Ed
Codd 1970).

Les ensembles de l’algèbre relationnelle sont la relation de
extension (tuples, lignes) et les opérateurs ont
soit une origine ou une relation ensembliste orientées
favoriser.

Une expression algébrique relationnelle a comme entrées un
(Unaire), ou deux (binaire), les relations et parfois
sélection condition.
Alors que la production d’une expression est une relation unique.

Autres caractéristiques:

Les opérateurs de l’algèbre travaillent sur tous les tuples de la relation;

l’algèbre a un calcul procédural
modèle;

Mais il ne “”Turing complète””, on peut écrire un
programme Pascal qui manipule les relations pour
où il n’y a pas d’équivalent algébrique.

une condition de sélection doit être évalué
chaque tuple indépendamment;

la sortie d’une opération algébrique est un
entrée acceptables pour un algébrique conséquente
expression – cette expression est appelé
composition.

Opérateurs: Union (binaire)
Qu’en est-il le typage d’une expression algébrique relationnelle et sa relation résultante?
“”UNION”” COMPATIBILITÉ (uc) de deux relations Pour une expression binaire, les deux participants (relations opérandes – R1 et R2) doit avoir les contraintes structurelles suivantes pour que l’expression soit le type correct: 1) les deux relations ont le même degré ( c.-à-n); Et 2) pour chaque attribut (1 <= i <= n), le nom de domaine (R1.Attr_i) = domain (R2.Attr_i). Le type de données d’une expression de SI les deux relations sont en u.c. Alors le schéma de la relation entre la résultante est arbitraire choisie pour être celle du premier opérande. ELSE … (opérande spécifique – par exemple l’opérateur du produit) Sémantique: La relation résultante possède tout le tuple présent soit dans la première, la deuxième ou les deux opérandes.
Dactylographie:
Le type de schéma de relation résultante est celle du premier opérande si les deux rapports d’opérandes sont dans u.c.
Notation:
R1 R2 U UNION (R1, R2)
commutative OUI OUI associative
Opérateurs: Différence (binaire)
Sémantique:
La relation résultante comprend tous les uplets de premier opérande qui ne sont pas présents dans le deuxième opérande.
Dactylographie:
Le type de schéma de relation résultante est celle du premier opérande si les deux rapports d’opérandes sont dans u.c.
Notation:
R1 – R2 DIFF (R1, R2),
NO NO commutatif associatif
Opérateurs: Sélection (unaire)
Sémantique:
Créer une nouvelle relation en extrayant de l’opérande tous les tuples qui satisfont aux conditions de sélection.
tuples:
Le type de schéma de relation résultante est équivalente à la structure de l’opérande.
A condition de sélection a la forme suivante:
Nom de l’attribut Comparaison op. Valeur constante ou attribut Comparaison op. Nom d’attribut
Une série de conditions de sélection pourrait être combinée comme dans select condition1 et sélectionnez condition2 ou sélectionnez condition1 OU sélectionnez condition2
Certains opérateurs typiques de comparaison pour les domaines commandés comprennent>, <, ==,! =, Etc
Notation:
(Condition select) R1 SELECT (R1, condition de sélection)
Remarque:
Le produit résultant est un sous-ensemble de l’opérande!

commutative OUI OUI associative
Algèbre relationnelle: Opérateurs: produit (binaire)
Sémantique:
Créer une nouvelle relation en exécutant un produit cartésien
des deux opérandes.
(Si les cardinalités de R1 et R2 sont tous 60,000 et 500
respectivement, la cardinalité de leur produit est de 60000 * 500 =
3000000!)

Dactylographie:
Les opérandes peuvent avoir un schéma de relation. Le schéma de relation résultante est équivalente à la concaténation de la relation du schéma de l’opérande.
Notation:
Ceci est extrêmement coûteux en calcul
opération!
En outre, l’extension résultante est généralement pas significatif !!

commutative Oui
associatif Oui

Opérateurs: Projection (unaire)
Sémantique:
Créer une nouvelle relation en retirant de l’opérande tous les attributs (et par conséquent leurs valeurs) qui ne sont pas mentionnés dans l’expression de projection.
Dactylographie:
Le type du schéma résultant est équivalent au schéma de l’opérande mais excluant les attributs non mentionnés dans la liste d’attributs.
Notation:
(Attr … x1, …, attr_xn) PROJET (R1, attr_x1, …, attr_xn)
Remarque:
Les valeurs en double sont implicitement supprimés!
Autres Notes:
Dans une expression algébrique avec une série de projets, nous avons deux choses en cours – la restructuration et la re-étendre !! Avec certaines manipulations algébriques, on peut surmonter ces restrictions.
commutatif (en général) n associative (en général) n
Minimal ensemble des opérateurs
On peut montrer qu’un sous-ensemble des opérateurs présentés (en particulier la sélection, projet, union, différence et produit) sont adéquats, ou complète, pour décrire les autres opérateurs (par exemple rejoindre, intersection, etc.).
L’utilisation exclusive des opérateurs de l’ensemble complet rendent la lecture des expressions algébriques naturelles extrêmement inflexible!
Par exemple, l’opérateur d’intersection a cette forme:
INTERSECTION (R1, R2)
est équivalent à DIFF (UNION (R1, R2), UNION (DIFF (R1, R2), (DIFF (R2, R1)))
ou équivalent à
DIFF (R1, DIFF (R1, R2))
Pourquoi une algèbre?
un langage simple
fixé à un accès en temps
son sémantiquement
exprime les mêmes requêtes qu’un autre langage basé sur le modèle relationnel décrit
(À savoir le calcul relationnel déclarative)
de procédure
optimisable
Query (un) â € “”Société
Retrieve puis nom et adresse de tous les employés qui travaillent pour le département â € ~Researchâ € ™.
research_dept: = select dname = â € ™ Researcgâ € ™ (département);
research_dept_emps: = select dNumber = dno (employé du produit research_dept);
algl1: = fname de projet, lname, adresse (research_dept_emps);
Query (deux) â € “”Société
Pour chaque projet situé dans â € ~Staffordâ € ™, la liste du nombre de projets, le numéro de département de contrôle, et le département managerâ nom, adresse, date de naissance et dâ € ™.
Stafford-_projs: = select plocation = â € ™ Staffordâ € ™ (projets);
Contr_dept: = select dnum-dNumber (département du produit Stafford_projs);
proj_dept_mgr: = select mgrssn = ssn (employé du produit contr_dept);
alg2: = projet pNuméro, dnum, lname, adresse, bdate (proj_dept_mgr);
Query (trois) â € “”Société
Trouver les noms des employés qui travaillent sur tous les projets contrôlés par le ministère numéro 5.
Dept5_projs (pno): = pNuméro de projet (sélectionnez dnum = 5 (projets)); emp_proj (ssn, pno): = ESSN de projet, pno (works_on); emp_proj_ssns: = ssn du projet (emp_proj); % Toutes les possibilités des employés travaillant sur des projets dept5. Poss_emps_dept5: = (dept5_projs emp_proj_ssns produits); /% Les employés qui nâ le travail € ™ s sur tous les projets de dept5 .. emps_not_dept5: = ssn de projet (poss_emps_dept5 différence emp_proj); result_emp_ssns: = emp SSNs proj différence emps_not_dept5; ALG3: = projet lname, fname (result_emp_ssns njoin employé);
Query (quatre) â € “”Société
Faites une liste des numéros de projet pour des projets qui impliquent un employé dont le nom est â € ~Smithâ € ™, soit en tant que travailleur ou en tant que gestionnaire du Département qui contrôle le projet.
Smiths (ESSN): = ssn de projet (sélectionner lname = â € ~Smithâ € ™ (employé));
smith_worker_projs: = pno de projet (works_on njoin serruriers);
MGRS: = lname de projet, dNumber (sélectionnez ssn = mgrssn (département de produit employé));
smith_mgrs: = selecy lname = â € ™ Smitha € ™ (MGRS);
smith_managed_depts (dnum): = dNumber de projet (smith_mgrs);
smith_mgr_projs (pno): = pmumber de projet (smith_managed_depts njoin projets);
ALG3: les smith_mgr_projs syndicales de =;
Query (cinq) â € “”Société
Inscrivez les noms de tous les employés avec deux ou plusieurs personnes à charge.
% Faites deux copies des employés à charge.
Empdep1 (ESSN, depname1): = ESSN de projet, dependent_name (à charge);
empdep2 (essn2, depname2): = empdep1;
et employés avec plus d’une personne à charge.
Emps_gtone_dep (SSN): = essn1 de projet (select (ESSN = essn2) et (depname1 <> depname2) (empdep1 produit empdep2));
alg5: = lname de projet, fname (employé njoin emps) gtone_dep);
Query (six) – Société
Récupérez les noms des employés qui n’ont pas Dependents.
All_emps: = ssn du projet (employé); Emps_with_deps (SSN): = ESSN du projet (à charge); Emps_without_deps = (all_emps
emps_with_deps Différence); Alg6: = lname de projet, fname
(Emps_without_deps njoin employé);
Query (sept) â € “”Société
Liste les noms des gestionnaires qui ont au moins une personne à charge.
Mgrssn (SSN): = mgrssn de projet (département); Emps_with_deps (SSN): = ESSN du projet (à charge); Mgrs_with_deps: = (mgrssn se croisent emps_with_deps); ALG7: = lname de projet, fname
(Mgrs_with_deps njoin employé);

“——————————————————————————————————————————————————

Stipe oersetting: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
Relational Algebra
Wat is in Algebra?
algebra (al-je-bre) haadwurd
Wiskunde
1 In feralgemienjen fan arithmetic dêr’t symboalen, meastentiids brieven fan it alfabet, fertsjintwurdigje oantallen of leden fan in spesifike set fan getallen en wurde besibbe troch operaasjes dy’t hâlden foar alle nûmers yn de dea.
2 In set tegearre mei operaasjes definiearre yn de dea dy’t hearrich dit wetten.
3 Word yntrodusearre troch Arabyske wiskundige al-Kwarizmy (sirka 900 nei Kristus) en brocht oer nei Latyn troch Robert fan Chester yn 1145.

[Midden Ingelsk, bone-ynstelling en Italiaansk, algebra, sawol út Medieval Latyn, fanút it Arabysk al-Jabr, de (wittenskip fan) wer ferienige woe: al, de + Jabr, Hereniging, bone-ynstelling.]
Algebraic talen binne mienskiplik yn kompjûter-: Boolean algebra foar logika poarten; en Relational algebra foar databank DML.
Basic yngrediïnten fan in algebra binne in dea (i.e. operand) en operaasjes (i.e. eksploitanten) dy’t hannelje op alle eleminten fan de dea.
Operator eigenskippen (bygelyks, fine in hiel getal set en de oanfolling operaasje) binne: Wierren is commutative oer de integers sûnt 3 + 4 = 4 + 3 (plus (3,4) == plus (4,3)); en Wierren wurdt sein te wêzen assosjative oer de integers sûnt 3 + (4 + 5) = (3 + 4) + 5 (plus (3, plus (4,5)) == plus (plus (3,4), 5 ))).
Skaaimerken fan de Rel. algebra
It manipulates hiele relaasjes troch in
semantically unambigous set fan operaasjes (Ed
Codd 1970).

De relational algebra fan sets binne de relaasje fan
extension (tuples, rigen) en de ûndernimmers hawwe
of in set teoretyske komôf of relaasje rjochte
geunst.

In relational algebraic ekspresje hat as yngongen ien
(Unary), of twa (binêre), betrekkingen en soms in
seleksje betingst.
Wylst in útdrukking fan útfier is ien relaasje.

Oare Skaaimerken:

de algebra fan operators wurkje op al fan de relaasje fan tuples;

de algebra hat in prosedurele kompjûtasjonele
model;

Mar it is net “”Turing komplete””, kin men skriuwe in
Pascal programma dat manipulates relaasjes foar
dy’t der is gjin algebraic ekwivalint.

in seleksje betingst hat te evaluearre wurde tsjin
elk tuple ûnôfhinklik;

de útfier fan in algebraic operaasje is in
akseptabele ynput foar in dêrút algebraic
útdrukking – dit wurdt neamd ekspresje
komposysje.

Oanbieders: Uny (binêre)
Wat oer it typen fan in relational algebraic ekspresje en syn sadwaande in relaasje?
“”UNION”” komptabiliteit (UC) fan twa BETREKKINGEN Foar in binêre ekspresje, de twa dielnimmende relaasjes (operands – R1 en R2) moatte de folgjende strukturele beheiningen foar de útdrukking te wêzen type correct: 1) beide relaasjes hawwe deselde graad ( ie n); & 2) foar eltse attribút (1 <= i <= n), it domein (R1.Attr_i) = domein (R2.Attr_i). It gegevenstype FAN AN Expression fan IF de beide relaasjes binne yn u.c. DAN de relaasje skema fan de resultante is willekeurige Chosen te wêzen dat fan ‘e earste operand. ELSE … (operand spesifike – bygelyks produkt operator) Semantyk: De sadwaande in relaasje hat alle tuple oanwêzich yn beide de earste, de twadde of beide operands.
typen:
It type fan de sadwaande in relaasje skema is dat fan de earste operand as beide operand bannen binne yn u.c.
notation:
R1 U R2 UNION (R1, R2)
commutative YES assosjatyf YES
Oanbieders: Ferskil (binêre)
semantyk:
De sadwaande in relaasje befettet alle tuples fan de earste operand dy’t net oanwêzich yn it twadde operand.
typen:
It type fan de sadwaande in relaasje skema is dat fan de earste operand as beide operand bannen binne yn u.c.
notation:
R1 – R2 DIFF (R1, R2)
commutative NO assosjative NO
Oanbieders: Seleksje (unary)
semantyk:
Meitsje in nije relaasje troch extracting út de operand alle tuples dy’t foldwaan de seleksje betingsten.
Tuples:
It type fan de sadwaande in relaasje skema is lykweardich oan it operand fan skema.
In seleksje tastân hat it folgjende formulier:
Attribute name Comparison op. Constant wearde of attribút namme Comparison op. attribute namme
In rige fan seleksje betingsten koe wurde kombinearre as yn selektearje condition1 EN selektearje condition2 of selektearje condition1 OR selektearje condition2
Guon typyske ferliking eksploitanten foar besteld domeinen binne>, <, ==,! =, Etc
notation:
(Selektearje betingst) R1 SELECT (R1, seleksje betingst)
Noat:
De resultante is in bepaald berik fan operand!

commutative YES assosjatyf YES
Relational algebra: Oanbieders: Product (binêre)
semantyk:
Meitsje in nije relaasje troch it útfieren fan in Cromo produkt
fan ‘e twa operands.
(As de cardinalities fan R1 en R2 binne 60000 en 500
respektivelik, harren produkt fan cardinality is 60000 * 500 =
3,000,000!)

typen:
De operands kinne hawwe gjin relaasje skema. De sadwaande in relaasje skema is gelyk oan it concatenation fan de operand syn relaasje skema.
notation:
Dit is in tige computationally djoer
operaasje!
Ek, dêr sadwaande in ferlinging is net ornaris sinfol !!

commutative Ja
assosjative Ja

Oanbieders: Projection (unary)
semantyk:
Meitsje in nije relaasje troch it fuortheljen fan de operand alle attributen (en dus harren wearden) dy’t net neamd yn de projeksje útdrukking.
typen:
It type fan de sadwaande in skema lyk stiet mei it operand syn skema, mar eksklusyf attributen net neamd yn it skaaimerk list.
notation:
(Attr … x1, …, attr_xn) PROJECT (R1, attr_x1, …, attr_xn)
Noat:
Duplisearje wearden wurde ymplisyt fuorthelle!
Fierdere Notes:
Yn in algebraic útdrukking mei in string fan projekten ha wy twa dingen hinne op – werstrukturearring en re-útwreidzjen fan !! Mei bepaalde algebraic beynfloedzjen men kin oerwinnen dy beheinings.
commutative (yn it algemien) Gjin assosjative (yn it algemien) No
Minimal set fan ûndernimmers
It kin oantoand dat in bepaald berik fan de presintearre eksploitanten (spesifyk de selektearje, projekt, uny, ferskil en produkt) binne adekwaat, of kompleet, te beskriuwen de oare operators (bygelyks meidwaan, krusing etc.).
De eksklusive gebrûk fan ûndernimmers út de folsleine set soargje der foar it lêzen fan in pear natuerlike algebraic útdrukkings ekstreem ûnfersetlik!
Bygelyks, de krúsing operator hat dizze foarm:
Intersection (R1, R2)
is gelyk oan DIFF (UNION (R1, R2), UNION (DIFF (R1, R2), (DIFF (R2, R1)))
of gelyk oan
DIFF (R1, DIFF (R1, R2))
Wêrom in algebra?
in ienfâldige taal
set op in tiid tagong
semantically lûd
drukt it deselde fragen dy’t in oare relational model basearre taal beskriuwt
(I.e. de declarative relational kalkulus)
prosedurele
optimisable
Query (ien) â € “”Company
Heljen dan namme en adres fan alle meiwurkers dy’t wurkje foar de â € ~Researchâ € ™ ôfdieling.
research_dept: = selektearje dname = â € ™ Researcgâ € ™ (ôfdieling);
research_dept_emps: = selektearje dnumber = dno (research_dept produkt wurknimmer);
algl1: = projekt fname, lname, adres (research_dept_emps);
Query (twa) â € “”Company
Foar alle projekt leit yn â € ~Staffordâ € ™, list it projekt nûmer, de kontrolearjende ôfdieling nûmer, en de ôfdieling managerâ € ™ s lêste namme, adres, En birthdate.
Stafford-_projs: = selektearje plocation = â € ™ Staffordâ € ™ (projekten);
Contr_dept: = selektearje dnum-dnumber (Stafford_projs produkt ôfdieling);
proj_dept_mgr: = selektearje mgrssn = SSN (contr_dept produkt wurknimmer);
alg2: = projekt pnumber, dnum, lname, adres, bdate (proj_dept_mgr);
Query (trije) â € “”Company
Fine de nammen fan de meiwurkers dy’t wurkje op alle Projekten regele troch ôfdieling nûmer 5.
Dept5_projs (Pno): = projekt pnumber (selektearje dnum = 5 (projekten)); emp_proj (SSN, Pno): = projekt essn, Pno (works_on); emp_proj_ssns: = projekt SSN (emp_proj); % Alle mooglikheden fan meiwurkers wurkje op dept5 projekten. Poss_emps_dept5: = (dept5_projs produkt emp_proj_ssns); /% Meiwurkers dy’t â € ™ s wurk op alle dept5 projekten .. emps_not_dept5: = projekt SSN (poss_emps_dept5 ferskil emp_proj); result_emp_ssns: = Link proj ssns ferskil emps_not_dept5; alg3: = projekt lname, fname (result_emp_ssns njoin wurknimmer);
Query (fjouwer) â € “”Company
Meitsje in list fan projekt nûmers foar projekten dy’t belûke in meiwurker waans lêste namme is â € ~Smithâ € ™, Of as in arbeider of as manager fan de ôfdieling dat hat ynfloed op de projekt.
Smiths (essn): = projekt SSN (selektearje lname = â € ~Smithâ € ™ (meiwurker));
smith_worker_projs: = projekt Pno (works_on njoin slotmakkers);
mgrs: = projekt lname, dnumber (selektearje SSN = mgrssn (meiwurker produkt ôfdieling));
smith_mgrs: = selecy lname = â € ™ Smithâ € ™ (mgrs);
smith_managed_depts (dnum): = projekt dnumber (smith_mgrs);
smith_mgr_projs (Pno): = projekt pmumber (smith_managed_depts njoin projekten);
alg3: = smith_worker_projs uny smith_mgr_projs;
Query (fiif) â € “”Company
List de nammen fan alle meiwurkers mei twa of mear eallju.
% Make twa eksimplaren fan meiwurkers mei eallju.
Empdep1 (essn, depname1): = projekt essn, dependent_name (ôfhinklik);
empdep2 (essn2, depname2): = empdep1;
& Meiwurkers mei mear as ien ôfhinklik.
Emps_gtone_dep (SSN): = projekt essn1 (selektearje (essn = essn2) en (depname1 <> depname2) (empdep1 produkt empdep2));
alg5: = projekt lname, fname (wurknimmer njoin emps) gtone_dep);
Query (seis) – Company
Helje de nammen fan de meiwurkers dy’t gjin eallju.
All_emps: = projekt SSN (wurknimmer); Emps_with_deps (SSN): = projekt essn (ôfhinklik); Emps_without_deps: = (all_emps
Ferskil emps_with_deps); Alg6: = projekt lname, fname
(Emps_without_deps njoin wurknimmer);
Query (sân) â € “”Company
List de nammen fan managers dy’t op syn minst ien ôfhinklik.
Mgrssn (SSN): = projekt mgrssn (ôfdieling); Emps_with_deps (SSN): = projekt essn (ôfhinklik); Mgrs_with_deps: = (mgrssn kruse emps_with_deps); Alg7: = projekt lname, fname
(Mgrs_with_deps njoin wurknimmer);

“——————————————————————————————————————————————————

Tradución Apoio: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
álxebra relacional
¿Que é unha álxebra?
álxebra (Al je-bre) substantivo
matemáticas
1 A xeneralización da aritmética en que símbolos, xeralmente letras do alfabeto, representan números ou membros dun conxunto específico de números e son relacionados por operacións que manteñen a todos os números do conxunto.
2 A definir conxuntamente con operacións definidas no conxunto que obedecer ás leis específicas.
3 Palabra introducida polo matemático árabe al-Khwarizmi (uns 900 AD) e trouxo ao latín por Robert de Chester en 1145.

[Inglés Medio, óso-configuración e italiano, a álxebra, tanto do latín medieval, do árabe al-Jabr, o (ciencia da) reunindo :. Al, o + Jabr, reunificación, a definición de óso]
linguaxes alxébricas son comúns en computación: álxebra booleana para portas lóxicas; e álxebra relacional para DML base de datos.
ingredientes básicos dunha álxebra son un conxunto (é dicir, que operan) e operacións (isto é, operadores) que actúan sobre todos os elementos do conxunto.
propiedades de operador (por exemplo, considerada un número enteiro definido ea operación de adición) inclúen: adición é conmutativa sobre os enteiros desde 3 + 4 = 4 + 3 (máis (3,4) == máis (4,3)); A adición e dise ser asociativa sobre os enteiros desde 3 + (4 + 5) = (3 + 4) + 5 (máis (3, máis (4,5)) == máis (máis (3,4), 5 ))).
Características da Rel. álxebra
Manipula relacións enteiras a través dun
conxunto semanticamente sen ambigüidades do operacións (Ed
Codd 1970).

conxuntos de álxebra relacional son a relación do
extensión (liñas, liñas) e os operadores teñen
quere unha orixe teórica definir ou relación orientada
favorecer.

A expresión alxébrica relacional ten como entradas dun
(Unário) ou dous (binario), as relacións e ás veces un
condición de selección.
Mentres que a produción dunha expresión é unha única relación.

Outras Características:

operadores de álxebra traballar en todas as tuplas da relación;

álxebra ten un computacional procesual
modelo;

Pero non é “”Turing completa””, pódese escribir unha
programa de Pascal que manipula as relacións de
que non hai equivalente alxébrica.

unha condición de selección ten que ser avaliado contra
Cada tupla de forma independente;

a saída dunha operación alxébrico é un
entrada aceptable para unha consecuente alxébrica
expresión – que se chama de expresión
composición.

Operadores: Unión (binario)
E sobre a escritura dunha expresión alxébrica relacional ea súa relación resultante?
“”UNIÓN”” COMPATIBILIDADE (UC) de dúas relacións para unha expresión binario, ambos participan relacións (operandos – R1 e R2) debe ter os seguintes constrangimentos estruturais para a expresión a ser do tipo correcto: 1) ambas as relacións teñen o mesmo grao ( é dicir, n); E 2) a cada atributo (1 <= i <= n), o dominio (R1.Attr_i) = dominio (R2.Attr_i). O tipo de datos dunha expresión de as dúas relacións están en U.C. A continuación, o esquema de relación da resultante é arbitrario escollido para ser o primeiro operando. Máis … (operando específica – por exemplo, operador de produto) Semántica: A relación resultante ten toda a tupla presentes nin o primeiro, o segundo ou ambos operandos.
escribindo:
O tipo de esquema de relación resultante é o da primeira operando se ambos operandos son relacións en U.C.
notación:
R1 R2 L UNIÓN (R1, R2)
conmutativa SIM asociativa SIM
Operadores: Diferenza (binario)
semántica:
A relación resultante inclúe todo tuplos do primeiro operando que non están presentes no segundo operando.
escribindo:
O tipo de esquema de relación resultante é o da primeira operando se ambos operandos son relacións en U.C.
notación:
R1 – R2 diff (R1, R2)
NO conmutativa NO asociativa
Operadores: Selección (unário)
semántica:
Crear unha nova relación a través da extracción do operando todas as tuplas que satisfán as condicións de selección.
tuplas:
O tipo de esquema de relación resultante é equivalente ao esquema da operando.
A condición de selección ten o seguinte formato:
Atributo de nome Comparación op. valor constante ou atributo Comparación op. nome do atributo
Unha serie de condicións de selección poden ser combinados como condition1 Seleccionar e seleccione condition2 ou seleccione condition1 ou seleccione condition2
Algúns operadores de comparación típicos para dominios ordenados inclúen>, <, == ,! =, Etc
notación:
(Seleccione condición) R1 seleccionar (R1, condición de selección)
Nota:
O resultante é un subconxunto do operando!

conmutativa SIM asociativa SIM
Álxebra relacional: Operadores: O produto (binario)
semántica:
Crear unha nova relación, executando un produto cartesiano
dos dous operandos.
(Se os cardinais de R1 e R2 son 60000 e 500
respectivamente, cardinalidade do seu produto é 60000 * 500 =
3.000.000!)

escribindo:
Os operandos poden ter calquera esquema de relación. O esquema de relación resultante é equivalente á concatenación de esquema de relación do operando.
notación:
Este é un moi dispendiosa
operación de!
Ademais, a extensión resultante non é xeralmente importante !!

conmutativa Si
asociativa Si

Operadores: Vigo (unário)
semántica:
Crear unha nova relación a través da eliminación do operando todos os atributos (e, en consecuencia, os seus valores) que non son mencionados na expresión de proxección.
escribindo:
O tipo do esquema resultante é equivalente ao esquema do operando, pero excluíndo atributos non mencionados na lista de atributos.
notación:
(Attr … x1, …, attr_xn) PROJECT (R1, attr_x1, …, attr_xn)
Nota:
valores duplicados son eliminados implicitamente!
Notas adicionais:
Nunha expresión alxébrica cunha serie de proxectos que teñen dúas cousas a suceder – reestruturación e re-estender !! Con algunhas manipulacións alxébricas se pode superar estas limitacións.
conmutativa (en xeral) non asociativa (en xeral) non
conxunto mínimo de operadores
Pode ser mostrado que un subconxunto dos operadores presentados (en concreto, o select, proxecto, unión, diferenza e produto) son axeitados, ou completa, para describir os outros operadores (por exemplo, xuntarse, intersección etc).
O uso exclusivo de operadores do xogo completo facer a lectura dalgunhas expresións alxébricas naturais moi inflexíbel!
Por exemplo, o operador de intersección ten esta forma:
Intersection (R1, R2)
equivale a diff (UNIÓN (R1, R2), UNIÓN (diff (R1, R2), (diff (R2, R1)))
ou equivalente a
Diff (R1, diff (R1, R2))
Por unha álxebra?
unha linguaxe sinxela
fixado a un tempo de acceso
son semanticamente
expresa as mesmas procuras outra linguaxe baseada modelo relacional describe
(Ou sexa, o cálculo relacional declarativa)
procesual
optimisable
Consulta (un) â € “”Empresa
Solicitar continuación, o nome e enderezo de todos os empregados que traballan para o â € departamento ~ Researchâ € ™.
research_dept: = selecciona dname = â € ™ Researcgâ € ™ (departamento);
research_dept_emps: = selecciona DNúmero = dno (empregado produto research_dept);
algl1: = fname proxecto, lname, enderezo (research_dept_emps);
Consulta (dous) â € “”Empresa
Para cada proxecto situado nun € ~ Staffordâ € ™, liste o número do proxecto, o número do departamento de control, E o managerâ departamento € ™ s apelidos, enderezo, e data de nacemento.
Stafford-_projs: = selecciona plocation = â € ™ Staffordâ € ™ (proxectos);
Contr_dept: = selecciona dnum-DNúmero (departamento produto Stafford_projs);
proj_dept_mgr: = selecciona mgrssn = SSN (empregado produto contr_dept);
ALG2: = proxecto NúmeroP, dnum, lname, enderezo, bdate (proj_dept_mgr);
Consulta (tres) â € “”Empresa
Atopar os nomes dos empregados que traballan en todos os proxectos controlados polo número do departamento 5.
Dept5_projs (PNO): = proxecto NúmeroP (seleccione dnum = 5 (proxectos)); emp_proj (SSN, PNO): = proxecto ESSN, PNO (trabalha_em); emp_proj_ssns: = proxecto SSN (emp_proj); % Todas as posibilidades de empregados que traballan en proxectos dept5. Poss_emps_dept5: = (dept5_projs emp_proj_ssns produtos); /% Colaboradores que ama traballo € ™ s en todos os proxectos dept5 .. emps_not_dept5: = proxecto SSN (poss_emps_dept5 diferenza emp_proj); result_emp_ssns: = emp CPFs proj diferenza emps_not_dept5; alg3: = proxecto lname, fname (result_emp_ssns Njoin empregado);
Consulta (catro) â € “”Empresa
Faga unha lista de números de proxectos para proxectos que impliquen un funcionario cuxo último nome é un € ~ Smitha € ™, sexa como un traballador ou como un director do departamento que controla o proxecto.
Smiths (ESSN): = proxecto SSN (seleccione lname = â € ~ Smitha € ™ (empregado));
smith_worker_projs: = proxecto PNO (trabalha_em Njoin ferreiros);
mgrs: = proxecto lname, DNúmero (seleccione SSN = mgrssn (empregado do departamento de produto));
smith_mgrs: = selecy lname = â € ™ Smitha € ™ (Mgr);
smith_managed_depts (dnum): = proxecto DNúmero (smith_mgrs);
smith_mgr_projs (PNO): = proxecto pmumber (smith_managed_depts Njoin proxectos);
alg3: = smith_worker_projs smith_mgr_projs sindicais;
Consulta (cinco) â € “”Empresa
Liste os nomes de todos os empregados con dous ou máis dependentes.
% Fai dúas copias de funcionarios con dependentes.
Empdep1 (ESSN, depname1): = proxecto ESSN, dependent_name (dependente);
empdep2 (essn2, depname2): = empdep1;
e funcionarios con máis dun dependente.
Emps_gtone_dep (SSN): = proxecto essn1 (select (ESSN = essn2) e (depname1 <> depname2) (empdep1 produto empdep2));
alg5: = lname proxecto, fname (empregado Njoin EMPs) gtone_dep);
Consulta (seis) – Empresa
Recuperar os nomes dos funcionarios que non teñen dependentes.
All_emps: = proxecto SSN (empregado); Emps_with_deps (SSN): = ESSN proxecto (dependente); Emps_without_deps: = (all_emps
emps_with_deps diferenza); Alg6: = lname proxecto, fname
(Emps_without_deps Njoin empregado);
Consulta (sete) â € “”Empresa
Incluír os nomes dos xestores que teñen polo menos un dependente.
Mgrssn (SSN): = mgrssn proxecto (departamento); Emps_with_deps (SSN): = ESSN proxecto (dependente); Mgrs_with_deps: = (mgrssn cruzan emps_with_deps); ALG7: = lname proxecto, fname
(Mgrs_with_deps Njoin empregado);

“——————————————————————————————————————————————————

მხარდაჭერა თარგმანი: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
რელატიური ალგებრა
რა არის ალგებრაში?
ალგებრა (ალ-je-bre) noun
მათემატიკის
1 განზოგადება არითმეტიკული, სადაც სიმბოლოები, როგორც წესი, ასო ანბანი, წარმოადგენს ნომრები და წევრები კონკრეტული კომპლექტი ნომრები და დაკავშირებული ოპერაციების, რომ გამართავს ყველა ნომრები კომპლექტი.
2 კომპლექტი ერთად ოპერაციების განსაზღვრულია დასახული, რომ დაემორჩილოს განსაზღვრული კანონები.
3 Word შემოღებული არაბი მათემატიკოსის, ალ Khwarizmi (დაახლოებით 900 AD) და მოუტანა მეტი შევიდა ლათინურ რობერტ of Chester 1145.

[Middle English, ძვლის გარემოში და იტალიური, ალგებრა, როგორც შუა საუკუნეების ლათინური, არაბული ალ-Jabr, the (მეცნიერების) გაერთიანდა: al, რომ + Jabr, გაერთიანების, ძვლის გარემოში.]
ალგებრული ენები გავრცელებულია Computing: ლოგიკური ალგებრა ლოგიკა კარიბჭე; და რელატიური ალგებრა მონაცემთა ბაზის DML.
ძირითადი ინგრედიენტები ალგებრა კომპლექტი (ანუ operand) და ოპერაციების (ანუ ოპერატორები), რომ იმოქმედოს ყველა ელემენტების კომპლექტი.
ოპერატორი თვისებები (მაგალითად, განვიხილოთ მთელი კომპლექტი და დამატებით ოპერაციას) მოიცავს: დამატებით კომუტაციური მეტი რიცხვებით მას შემდეგ, რაც 3 + 4 = 4 + 3 (plus (3,4) == plus (4,3)); და გარდა ამისა შეიძლება ითქვას, რომ ასოციაციური მეტი რიცხვებით წლის 3 + (4 + 5) = (3 + 4) + 5 (plus (3 plus (4,5)) == plus (plus (3,4), 5 ))).
მახასიათებლები კონცერტი. ალგებრა
ეს მანიპულირებს მთელი ურთიერთობის მეშვეობით
სემანტიკურად unambigous კომპლექტი ოპერაციების (Ed
Codd 1970).

რელატიური ალგებრა ის კომპლექტი არის მიზეზი ის
გაფართოება (tuples, რიგები) და ოპერატორები
ან მითითებული თეორიული წარმოშობის ან დაკავშირებით ორიენტირებული
ემხრობა.

რელიაციური ალგებრული გამოხატვის საშუალებებით ერთი
(Unary), ან ორი (ორობითი), ურთიერთობები და ზოგჯერ
შერჩევა მდგომარეობაში.
მიუხედავად იმისა, რომ გამოხატვის გამომავალი არის ერთი მიზეზი.

სხვა მახასიათებლები:

ალგებრა ის ოპერატორების მუშაობა ყოველივე ურთიერთობის tuples;

ალგებრა გააჩნია პროცედურული კომპიუტერული
მოდელი;

მაგრამ ეს არ არის “”ტურინგის სრული””, ერთი შეუძლია დაწეროს
Pascal პროგრამა, რომელიც მანიპულირებს ურთიერთობები
რომელიც არ არის ალგებრული ექვივალენტს.

შერჩევა პირობა უნდა შეფასდა
თითოეულ კორტეჟული დამოუკიდებლად

გამოშვება ალგებრული ოპერაცია
მისაღები შეყვანის შესაბამისი ალგებრული
გამოხატვის – ეს არის ე.წ. გამოხატვის
შემადგენლობა.

ოპერატორები: Union (ორობითი)
რაც შეეხება ფერთა რელატიური ალგებრული გამოხატვისა და მისი შედეგად დაკავშირებით?
“”UNION”” შეთავსებადობა (UC) ორი ურთიერთობები ორობითი გამოხატვის, ორი მონაწილე ურთიერთობები (operands – R1 და R2) უნდა ჰქონდეს შემდეგი სტრუქტურული შეზღუდვები გამოხატვის იყოს ტიპის სწორი: 1) ორივე ურთიერთობები აქვს იგივე ხარისხი ( ანუ n); და 2) თითოეული ატრიბუტი (1 <= i <= n), დომენი (R1.Attr_i) = domain (R2.Attr_i). მონაცემები ტიპის გამოხატულებაა ის, თუ ორი ურთიერთობები u.c. მაშინ ურთიერთობის სქემის შედეგად არის თვითნებური არჩეული უნდა იყოს, რომ პირველი operand. სხვა … (operand კონკრეტული – მაგ პროდუქტის ოპერატორი) სემანტიკა: შედეგად დაკავშირებით აქვს ყველა tuple იმყოფება არც პირველი, მეორე ან ორივე operands.
Typing:
ტიპის შედეგად დაკავშირებით სქემის არის, რომ პირველი operand თუ ორივე operand ურთიერთობები u.c.
notation:
R1 U R2 UNION (R1, R2)
კომუტაციური YES ასოციაციურ YES
ოპერატორები: სხვაობა (ორობითი)
სემანტიკა:
შედეგად დაკავშირებით მოიცავს ყველა tuples პირველი operand, რომელიც არ წარმოადგენს მეორე operand.
Typing:
ტიპის შედეგად დაკავშირებით სქემის არის, რომ პირველი operand თუ ორივე operand ურთიერთობები u.c.
notation:
R1 – R2 DIFF (R1, R2)
შემცვლელი არ ასოციაციურ NO
ოპერატორები: შერჩევა (unary)
სემანტიკა:
შექმენით ახალი დაკავშირებით მოპოვების საწყისი operand ყველა tuples რომელიც აკმაყოფილებს შერჩევის პირობები.
tuples:
ტიპის შედეგად დაკავშირებით სქემის უდრის operand ის schema.
შერჩევა მდგომარეობა აქვს შემდეგი ფორმა:
ატრიბუტის სახელის შედარება op. მუდმივი მნიშვნელობა და სახელის მინიჭება შედარება op. სახელის მინიჭება
სერია შერჩევის პირობებში შეიძლება კომბინირებული როგორც არჩევა CONDITION1 და აირჩიეთ condition2 ან აირჩიეთ CONDITION1 ან აირჩიეთ condition2
ზოგიერთი ტიპიური შედარებით ოპერატორები მიღებული დომენები მოიცავს>, <==,! =, და ა.შ.
notation:
(Select მდგომარეობა) R1 SELECT (R1, შერჩევა მდგომარეობა)
შენიშვნა:
შედეგად არის სუბსეტ operand!

კომუტაციური YES ასოციაციურ YES
რელატიური ალგებრა: ოპერატორები: პროდუქტის (ორობითი)
სემანტიკა:
შექმენით ახალი დაკავშირებით შესრულებაში დეკარტულ პროდუქტი
ორი operands.
(თუ cardinalities of R1 და R2 60000 და 500
შესაბამისად, მათი პროდუქციის cardinality არის 60000 * 500 =
3,000,000!)

Typing:
Operands შეიძლება ჰქონდეს რაიმე კავშირი schema. შედეგად დაკავშირებით სქემის უდრის გაერთიანების საქართველოს operand ურთიერთობის სქემის.
notation:
ეს არის ძალიან კომპიუტერულად რთული
ოპერაცია!
ასევე, შედეგად გაფართოება არ არის, როგორც წესი, მნიშვნელოვანი !!

კომუტაციური დიახ
ასოციაციური დიახ

ოპერატორები: Projection (unary)
სემანტიკა:
შექმენით ახალი ურთიერთობის მოხსნის operand ყველა ატრიბუტიკა (და, შესაბამისად, მათი ღირებულებები), რომელიც არ არის აღნიშნული პროექტირება გამოხატვის.
Typing:
ტიპის შედეგად schema უდრის operand ის სქემის გარდა ატრიბუტები არ არის ნახსენები ატრიბუტი სიაში.
notation:
(Attr … x1, … attr_xn) PROJECT (R1, attr_x1, … attr_xn)
შენიშვნა:
დუბლიკატი ღირებულებები ირიბად მოიხსნას!
დამატებითი შენიშვნები:
In ალგებრული გამოხატვის სიმებიანი პროექტების ჩვენ გვაქვს ორი რამ ხდება – რესტრუქტურიზაცია და ხელახლა გაგრძელების !! გარკვეული ალგებრული მანიპულაცია შეიძლება დავძლიოთ ეს შეზღუდვა.
კომუტაციური (ზოგადად) არ ასოციაციურ (ზოგადად) არ
მინიმალური კომპლექტი ოპერატორები
ეს შეიძლება აჩვენა, რომ სუბსეტ წარმოდგენილი ოპერატორები (კონკრეტულად აირჩიეთ, პროექტის, გაერთიანება, სხვაობა და პროდუქტი) არის ადეკვატური, ანუ სრულად აღწერს სხვა ოპერატორების (მაგალითად შეუერთდება, კვეთა და ა.შ.).
ექსკლუზიური გამოყენების ოპერატორების სრული კომპლექტი მიიღოს კითხულობს ზოგიერთი ბუნებრივი ალგებრული გამოსახულებების ძალიან მყარი!
მაგალითად, კვეთა ოპერატორს აქვს ეს ფორმა:
კვეთა (R1, R2)
უდრის DIFF (UNION (R1, R2), UNION (DIFF (R1, R2), (DIFF (R2, R1)))
ან ექვივალენტი
DIFF (R1, DIFF (R1, R2))
რატომ ალგებრა?
უბრალო ენაზე
მითითებული დროს ხელმისაწვდომობის
სემანტიკურად ხმა
გამოხატავს იგივე შეკითხვებს, რომ სხვა რელატიური მოდელის საფუძველზე ენის აღწერს
(ანუ დეკლარაციული რელატიური Calculus)
საპროცესო
optimisable
შეკითხვის (ერთი) â € “”კომპანია
ახლიდან შემდეგ სახელი და მისამართი ყველა თანამშრომელი, რომლებიც მუშაობენ â € ~Researchâ € ™ დეპარტამენტი.
research_dept: = აირჩიეთ dname = â € ™ Researcgâ € ™ (დეპარტამენტი);
research_dept_emps: = აირჩიეთ dnumber = dno (research_dept პროდუქტი თანამშრომელი);
algl1: = პროექტის fname, lname, მისამართი (research_dept_emps);
შეკითხვის (ორი) â € “”კომპანია
ყველა პროექტი მდებარეობს â € ~Staffordâ € ™, მიუთითეთ პროექტის ნომერი, მაკონტროლებელი დეპარტამენტის ნომერი, და დეპარტამენტის managerâ € ™ s გვარი, მისამართი, და დაბადების.
Stafford-_projs: = აირჩიეთ plocation = â € ™ Staffordâ € ™ (პროექტი);
Contr_dept: = აირჩიეთ dnum-dnumber (Stafford_projs პროდუქტის განყოფილება);
proj_dept_mgr: = აირჩიეთ mgrssn = ssn (contr_dept პროდუქტი თანამშრომელი);
alg2: = პროექტის pnumber, dnum, lname, მისამართი, bdate (proj_dept_mgr);
შეკითხვის (სამი) â € “”კომპანია
ძებნა სახელები თანამშრომლებს, რომლებიც მუშაობენ ყველა პროექტები აკონტროლებს დეპარტამენტის ნომერი 5.
Dept5_projs (PNO): = პროექტის pnumber (აირჩიეთ dnum = 5 (პროექტი)); emp_proj (SSN, PNO): = პროექტის essn, PNO (works_on); emp_proj_ssns: = პროექტის ssn (emp_proj); % ყველა შესაძლებლობები დასაქმებულთა dept5 პროექტები. Poss_emps_dept5: = (dept5_projs პროდუქტი emp_proj_ssns); /% თანამშრომლების რომ დონა € ™ s მუშაობა ყველა dept5 პროექტების .. emps_not_dept5: = პროექტის ssn (poss_emps_dept5 განსხვავება emp_proj); result_emp_ssns: = emp პროექტების SSNS განსხვავება emps_not_dept5; alg3: = პროექტის lname, fname (result_emp_ssns njoin თანამშრომელი);
შეკითხვის (ოთხი) â € “”კომპანია
გააკეთეთ სია პროექტის ნომრები პროექტი, რომელიც მოიცავს თანამშრომელი, რომლის გვარი â € ~Smithâ € ™, როგორც ერთ-ერთი თანამშრომელი, ან როგორც მენეჯერი დეპარტამენტი, რომელიც აკონტროლებს პროექტი.
Smiths (essn): = პროექტის ssn (აირჩიეთ lname = â € ~Smithâ € ™ (თანამშრომელი));
smith_worker_projs: = პროექტის PNO (works_on njoin მჭედლების);
mgrs: = პროექტის lname, dnumber (აირჩიეთ ssn = mgrssn (თანამშრომელი პროდუქტი დეპარტამენტი));
smith_mgrs: = selecy lname = â € ™ SMITHA € ™ (mgrs);
smith_managed_depts (dnum): = პროექტის dnumber (smith_mgrs);
smith_mgr_projs (PNO): = პროექტის pmumber (smith_managed_depts njoin პროექტი);
alg3: = smith_worker_projs კავშირის smith_mgr_projs;
შეკითხვის (ხუთი) â € “”კომპანია
ჩამოვთვალოთ სახელები ყველა თანამშრომელი ორი ან მეტი კმაყოფაზე.
% ჩადება ორ ეგზემპლარად თანამშრომელთა კმაყოფაზე.
Empdep1 (essn, depname1): = პროექტის essn, dependent_name (დამოკიდებული);
empdep2 (essn2, depname2): = empdep1;
და თანამშრომლები ერთზე მეტი დამოკიდებული.
Emps_gtone_dep (SSN): = პროექტის essn1 (აირჩიეთ (essn = essn2) და (depname1 <> depname2) (empdep1 პროდუქტი empdep2));
alg5: = პროექტის lname, fname (თანამშრომელი njoin გარემოსდაცვითი მართვის გეგმები) gtone_dep);
შეკითხვის (ექვსი) – კომპანია
ვიღებ სახელები თანამშრომლებს, რომლებიც არ კმაყოფაზე.
All_emps: = პროექტის ssn (თანამშრომელი); Emps_with_deps (SSN): = პროექტის essn (დამოკიდებული); Emps_without_deps: = (all_emps
სხვაობა emps_with_deps); Alg6: = პროექტის lname, fname
(Emps_without_deps njoin თანამშრომელი);
შეკითხვის (შვიდი) â € “”კომპანია
ჩამოვთვალოთ სახელები მენეჯერები, რომლებიც მინიმუმ ერთი დამოკიდებული.
Mgrssn (SSN): = პროექტის mgrssn (დეპარტამენტი); Emps_with_deps (SSN): = პროექტის essn (დამოკიდებული); Mgrs_with_deps: = (mgrssn იკვეთება emps_with_deps); Alg7: = პროექტის lname, fname
(Mgrs_with_deps njoin თანამშრომელი);

“——————————————————————————————————————————————————

Unterstützung Übersetzung: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
Relationale Algebra
Was ist eine Algebra?
Algebra (al-je-bre) Substantiv
Mathematik
1 Eine Verallgemeinerung der Arithmetik, in der Symbole, in der Regel die Buchstaben des Alphabets, Zahlen darstellen, oder Mitglieder einer bestimmten Menge von Zahlen und werden durch Operationen zusammenhängen, die für alle Zahlen in der Menge zu halten.
2 A gesetzt zusammen mit Operationen in der Menge definiert, die bestimmten Gesetzen gehorchen.
3 Wort von arabischen Mathematiker al-Khwarizmi (circa 900 AD) und brachte über ins Lateinische von Robert von Chester im Jahre 1145 eingeführt.

[Middle English, Knochen-Einstellung und Italienisch, Algebra, die beide aus dem mittelalterlichen Latein, aus dem arabischen al-jabr, die (Wissenschaft) wieder zu vereinen: al., Die + jabr, Wiedervereinigung, Knochen-Einstellung]
Algebraische Sprachen sind in der Computerbranche gemeinsam: Boolesche Algebra für Logikgatter; und Relationale Algebra für Datenbank-DML.
Grundlegende Bestandteile einer Algebra sind eine Reihe (das heißt Operand) und Operationen (das heißt Betreiber), die auf alle Elemente des Satzes handeln.
Operator Eigenschaften (zum Beispiel prüfen, eine ganze Zahl gesetzt und die Additionsoperation) umfassen: Addition ist kommutativ über den ganzen Zahlen seit 3 + 4 = 4 + 3 (plus (3,4) == plus (4,3)); und Addition wird gesagt, dass assoziative über den ganzen Zahlen seit 3 + (4 + 5) = (3 + 4) + 5 (plus (3, plus (4,5)) == plus (plus (3,4), 5 ))).
Merkmale der Rel. Algebra
Es manipuliert gesamten Beziehungen durch eine
semantisch ohne jeden Zweifel ihre Reihe von Operationen (Ed
Codd 1970).

Die Sätze der relationalen Algebra sind die Beziehung des
Erweiterung (Tupel, Zeilen) und die Betreiber haben
entweder eine mengentheoretische Herkunft oder Beziehung orientiert
Gefallen.

Eine relationale algebraischen Ausdruck hat als Eingänge ein
(Einstellige) oder zwei (binär), Beziehungen und manchmal ein
Auswahlbedingung.
Während eines Ausgangs Ausdruck ist eine einzige Beziehung.

Andere Eigenschaften:

Die Betreiber arbeiten Algebra auf alle die Beziehung des Tupeln;

die Algebra hat einen Verfahrensrechen
Modell;

Aber es ist nicht “”Turing abgeschlossen””, kann man ein schreiben
Pascal-Programm, das die Beziehungen manipuliert für
die es keine algebraische äquivalent.

eine Selektionsbedingung hat gegen ausgewertet werden
Jedes Tupel unabhängig;

der Ausgang einer algebraischen Operation eine
akzeptable Eingabe zu einem daraus folgenden algebraischen
Ausdruck – das heißt Ausdruck
Zusammensetzung.

Operatoren: Union (binär)
Was ist mit der Eingabe einer relationalen algebraischen Ausdruck und seine resultierende Beziehung?
“”UNION”” VERTRÄGLICHKEIT (uc) von zwei Relationen Für einen binären Ausdruck, die beiden beteiligten Beziehungen (Operanden – R1 und R2) müssen die folgenden strukturellen Zwänge für die Ausdruckstyp korrekt zu sein: 1) beide Beziehungen den gleichen Grad haben ( dh n); & 2) für jedes Attribut (1 <= i <= n), die Domain (R1.Attr_i) = Domain (R2.Attr_i). DIE DATEN Typ eines Ausdruck, wenn die beiden Beziehungen sind in u.c. THEN die Beziehung Schema des resultierenden ist willkürlich gewählt, dass der erste Operand zu sein. ELSE … (Operand spezifisch – zum Beispiel Produkt-Operator) Semantics: Die resultierende Beziehung hat alle Tupel in entweder der ersten, der zweiten oder beiden Operanden.
Typisierung:
Die Art der resultierenden Beziehung Schema ist das des ersten Operanden, wenn beide Operanden Beziehungen sind in u.c.
Notation:
R1 U R2 UNION (R1, R2)
kommutativ JA assoziativen JA
Betreiber: Differenz (binär)
Semantik:
Die sich ergebende Beziehung beinhaltet alle Tupel des ersten Operanden, die nicht in dem zweiten Operanden sind.
Typisierung:
Die Art der resultierenden Beziehung Schema ist das des ersten Operanden, wenn beide Operanden Beziehungen sind in u.c.
Notation:
R1 – R2 DIFF (R1, R2)
kommutativ NO assoziativen NO
Betreiber: Auswahl (einstellige)
Semantik:
Erstellen Sie eine neue Beziehung, die durch alle Tupel aus dem Operanden zu extrahieren, die die Selektionsbedingungen erfüllen.
Tupeln:
Die Art des resultierenden Beziehung Schema ist auf die Operanden-Schema äquivalent.
Eine Auswahlbedingung hat folgende Form:
Attribut Vergleich op nennen. Konstanter Wert oder Namen Vergleich op Attribut. Attributname
Eine Reihe von Auswahlbedingungen könnten als in ausgewählten condition1 und wählen Sie condition2 oder wählen Sie condition1 ODER wählen condition2 kombiniert werden
Einige typische Vergleichsoperatoren für geordnete Domänen umfassen>, <, ==,! =, Usw.
Notation:
(Auswahlbedingung) R1 SELECT (R1, Auswahlbedingung)
Hinweis:
Das Ergebnis wird eine Teilmenge der Operanden!

kommutativ JA assoziativen JA
Relationale Algebra: Operatoren: Produkt (binär)
Semantik:
Erstellen Sie eine neue Beziehung, die durch ein kartesisches Produkt Ausführung
der beiden Operanden.
(Wenn die Kardinalität von R1 und R2 sind 60000 und 500
bzw. Mächtigkeit ihre Produkt 60000 * 500 =
3.000.000!)

Typisierung:
Die Operanden können jede Beziehung Schema haben. Die sich ergebende Beziehung Schema entspricht der Verkettung der Beziehung Schema des Operanden.
Notation:
Dies ist ein äußerst rechenintensiv
Betrieb!
Außerdem ist die resultierende Erweiterung der Regel nicht sinnvoll !!

kommutativ Ja
assoziativ Ja

Betreiber: Projektion (einstellige)
Semantik:
Erstellen Sie eine neue Beziehung, die durch aus dem Operanden entfernt alle Attribute (und damit ihre Werte), die nicht in der Projektion Ausdruck erwähnt.
Typisierung:
Die Art des resultierenden Schema ist auf die Operanden-Schema gleichwertig, aber ohne Attribute nicht in der Attributliste erwähnt.
Notation:
(Attr … x1, …, attr_xn) PROJECT (R1, attr_x1, …, attr_xn)
Hinweis:
Doppelte Werte werden implizit entfernt!
Weitere Hinweise:
In einem algebraischen Ausdruck mit einer Reihe von Projekten haben wir zwei Dinge, die sich – Umstrukturierung und Re-Verlängerung !! Bei bestimmten algebraischen Manipulationen kann man diese Einschränkungen überwinden.
kommutativ (im Allgemeinen) Nr assoziativ (im Allgemeinen) Nein
Minimale Menge von Operatoren
Es kann gezeigt werden, dass ein Teil der vorgestellten Operatoren (speziell die Auswahl, Projekt, Vereinigung, Differenz und Produkt) angemessen sind, oder vollständig, die anderen Betreiber zu beschreiben (zum Beispiel kommen, Kreuzung usw.).
Die ausschließliche Verwendung von Betreibern aus dem kompletten Satz das Lesen einige natürliche algebraische Ausdrücke extrem unnachgiebig!
Zum Beispiel hat der Kreuzung Betreiber dieses Formular:
DURCHSCHNITT (R1, R2)
entspricht DIFF (UNION (R1, R2), UNION (DIFF (R1, R2), (DIFF (R2, R1)))
oder äquivalent
DIFF (R1, DIFF (R1, R2))
Warum eine Algebra?
eine einfache Sprache
zu einem Zeitpunkt Zugriff eingestellt
semantisch Sound
drückt die gleichen Abfragen, die eine andere relationale Modell basierte Sprache beschreibt
(Das heißt die deklarative relationalen Kalkül)
Verfahrens
optimierbar
Query (ein) â € “”Unternehmen
Retrieve dann Name und Anschrift aller Mitarbeiter, die für die â € ~Researchâ € ™ Abteilung arbeiten.
research_dept: = select dname = â € ™ Researcgâ € ™ (Abteilung);
research_dept_emps: = select dnumber = dno (research_dept Produkt Mitarbeiter);
algl1: = Projekt fname, lname, Anschrift (research_dept_emps);
Query (zwei) â € “”Unternehmen
Für jedes Projekt befindet sich in â € ~Staffordâ € ™, die Liste der Projektnummer, die Controlling-Abteilung Nummer, und die Abteilung ManagerA € ™ s Nachname, Adresse und Geburtsdatum.
Stafford-_projs: = select plocation = â € ™ Staffordâ € ™ (Projekte);
Contr_dept: = select dnum-dnumber (Stafford_projs Produkt-Abteilung);
proj_dept_mgr: = select mgrssn = SSN (contr_dept Produkt Mitarbeiter);
alg2: = Projekt pNummer, dnum, lname, Adresse, bdate (proj_dept_mgr);
Query (drei) â € “”Unternehmen
Finde die Namen der Mitarbeiter, die die alle Projekte arbeiten an 5 von Abteilungsnummer gesteuert.
Dept5_projs (PNO): = Projekt pNummer (wählen dnum = 5 (Projekte)); emp_proj (SSN, PNO): = Projekt essn, pno (ARBEITET_AN); emp_proj_ssns: = Projekt SSN (emp_proj); % Alle Möglichkeiten der Mitarbeiter auf dept5 Projekten arbeiten. Poss_emps_dept5: = (dept5_projs Produkt emp_proj_ssns); /% Mitarbeiter, die auf allen dept5 Projekte € ™ s Arbeit dona .. emps_not_dept5: = Projekt SSN (poss_emps_dept5 Differenz emp_proj); result_emp_ssns: = emp proj SSNs Differenz emps_not_dept5; alg3: = Projekt lname, fname (result_emp_ssns njoin Mitarbeiter);
Query (vier) â € “”Unternehmen
Machen Sie eine Liste von Projektnummern für Projekte, die einen Mitarbeiter, dessen Beteiligen Nachname ist â € ~Smithâ € ™ entweder als Arbeitnehmer oder als Manager der Abteilung, die das Projekt steuert.
Smiths (essn): = Projekt SSN (wählen lname = â € ~Smithâ € ™ (Mitarbeiter));
smith_worker_projs: = Projekt pno (ARBEITET_AN njoin smiths);
mgrs: = Projekt lname, dnumber (wählen SSN = mgrssn (Mitarbeiter Produkt-Abteilung));
smith_mgrs: = selecy lname = â € ™ Smitha € ™ (mgrs);
smith_managed_depts (dnum): = Projekt dnumber (smith_mgrs);
smith_mgr_projs (PNO): = Projekt pmumber (smith_managed_depts njoin Projekte);
alg3: union smith_mgr_projs smith_worker_projs =;
Query (fünf) â € “”Unternehmen
Führen Sie die Namen aller Mitarbeiter mit zwei oder mehr Abhängige.
Machen% zwei Kopien von Mitarbeitern mit Angehörigen.
Empdep1 (essn, depname1): = Projekt essn, dependent_name (abhängig);
empdep2 (essn2, depname2): = empdep1;
& Mitarbeiter mit mehr als einem abhängig.
Emps_gtone_dep (SSN): = Projekt essn1 (wählen (essn = essn2) und (depname1 <> depname2) (empdep1 Produkt empdep2));
alg5: = Projekt lname, fname (Mitarbeiter njoin emps) gtone_dep);
Query (sechs) – Unternehmen
Rufen Sie die Namen der Mitarbeiter, die keine Angehörigen haben.
All_emps: = Projekt SSN (Mitarbeiter); Emps_with_deps (SSN): = Projekt essn (abhängig); Emps_without_deps: = (all_emps
Differenz emps_with_deps); ALG6: = Projekt lname, fname
(Emps_without_deps njoin Mitarbeiter);
Query (sieben) â € “”Unternehmen
Führen Sie die Namen der Manager, die mindestens eine abhängige haben.
Mgrssn (SSN): = Projekt mgrssn (Abteilung); Emps_with_deps (SSN): = Projekt essn (abhängig); Mgrs_with_deps: = (mgrssn schneiden emps_with_deps); ALG7: = Projekt lname, fname
(Mgrs_with_deps njoin Mitarbeiter);

“——————————————————————————————————————————————————

μετάφραση Υποστήριξη: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
σχεσιακή Άλγεβρα
Τι είναι Άλγεβρα;
άλγεβρα (al-je-BRE) ουσιαστικό
Μαθηματικά
1 Μια γενίκευση της αριθμητικής στην οποία τα σύμβολα, συνήθως γράμματα της αλφαβήτου, αντιπροσωπεύουν αριθμούς ή τα μέλη μιας συγκεκριμένης σύνολο αριθμών και σχετίζονται με δραστηριότητες που κρατούν για όλους τους αριθμούς στο σύνολο.
2 Ένα σύνολο μαζί με τις επιχειρήσεις που ορίζονται στο σετ που υπακούουν συγκεκριμένες νόμους.
3 του Word που εισήγαγε Αραβικά μαθηματικός al-Khwarizmi (γύρω στο 900 μ.Χ.) και έφερε πάνω στα λατινικά από τον Robert του Τσέστερ στο 1145.

[Μέση αγγλικά, των οστών-ρύθμιση και την ιταλική, την άλγεβρα, τόσο από τη μεσαιωνική λατινική, από τα αραβικά al-Jabr, η (επιστήμη της) την επανένωση:. Al, το + Jabr, επανένωση, των οστών-ρύθμιση]
Αλγεβρικές γλώσσες είναι κοινά στην πληροφορική: Boolean άλγεβρα για λογικές πύλες? και Σχεσιακή άλγεβρα για DML βάση δεδομένων.
Βασικά συστατικά ενός άλγεβρα είναι ένα σύνολο (δηλαδή τελεστή) και επιχειρήσεις (δηλαδή επιχειρήσεις) που δρουν σε όλα τα στοιχεία του συνόλου.
ιδιότητες του φορέα (για παράδειγμα, σκεφτείτε έναν ακέραιο που και τη λειτουργία προσθήκης) περιλαμβάνουν: Η προσθήκη είναι αθροιστική κατά τη διάρκεια των ακεραίων από το 3 + 4 = 4 + 3 (συν (3,4) == συν (4,3))? και η προσθήκη λέγεται ότι είναι συσχετιστική πάνω τους ακέραιους από το 3 + (4 + 5) = (3 + 4) + 5 (συν (3, συν (4,5)) == συν (συν (3,4), 5 ))).
Χαρακτηριστικά του Σχετ. Άλγεβρα
Το χειρίζεται ολόκληρο σχέσεις μέσα από μια
σημασιολογικά unambigous σύνολο των λειτουργιών (Ed
Codd 1970).

Ορίζει την σχεσιακή άλγεβρα είναι η σχέση του
επέκταση (πλειάδες, σειρές) και οι φορείς έχουν
είτε από ένα σύνολο θεωρητική καταγωγή ή σχέση προσανατολισμένη
εύνοια.

Μια σχεσιακή αλγεβρική έκφραση έχει ως εισροές ένα
(Μοναδιαίος) ή δύο (δυαδικό), σχέσεις και μερικές φορές ένα
συνθήκη επιλογής.
Ενώ η παραγωγή μιας έκφρασης είναι ένα ενιαίο σχέση.

Άλλα Χαρακτηριστικά:

φορείς της άλγεβρας που εργάζονται σε όλες τις πλειάδες της σχέσης του?

η άλγεβρα έχει μια διαδικαστική υπολογιστική
μοντέλο;

Αλλά δεν είναι “”Turing πλήρης», μπορεί κανείς να γράψει ένα
Pascal πρόγραμμα που χειρίζεται τις σχέσεις για
το οποίο δεν υπάρχει αλγεβρικό ισοδύναμο.

μια συνθήκη επιλογής πρέπει να αξιολογείται κατά
κάθε πλειάδα ανεξάρτητα?

η έξοδος μιας αλγεβρικό λειτουργία αποτελεί
αποδεκτή εισόδου σε μια επακόλουθη αλγεβρικό
έκφραση – αυτό ονομάζεται έκφραση
σύνθεση.

Φορείς: Ένωση (δυαδικό)
Τι γίνεται με την πληκτρολόγηση μιας σχεσιακής αλγεβρικής έκφρασης και προκύπτουσα σχέση του;
“”ΕΝΩΣΗ”” συμβατότητα (UC) ΔΥΟ ΣΧΕΣΕΙΣ Για μια δυαδική έκφραση, οι δύο συμμετέχουσες σχέσεις (τελεστές – R1 και R2) θα πρέπει να έχουν τα ακόλουθα διαρθρωτικά προβλήματα, εάν η έκφραση να είναι τύπου σωστή: 1) οι δύο σχέσεις έχουν τον ίδιο βαθμό ( δηλαδή n)? & 2) για κάθε χαρακτηριστικό (1 <= i <= n), τον τομέα (R1.Attr_i) = τομέα (R2.Attr_i). Ο τύπος δεδομένων μιας έκφρασης, εάν οι δύο σχέσεις είναι υ.ο. ΤΟΤΕ η σχέση σχήμα της προκύπτουσας είναι αυθαίρετη επιλέξει να είναι αυτή του πρώτου τελεστή. ΑΛΛΟ … (τελεστή ειδική – π.χ. χειριστή του προϊόντος) σημασιολογία: Η προκύπτουσα σχέση έχει όλη την πλειάδα παρούσα είτε στην πρώτη, τη δεύτερη ή δύο τελεστές.
Πληκτρολόγηση:
Ο τύπος της προκύπτουσας σχήμα σχέσης είναι ότι το πρώτο τελεστή αν και οι δύο σχέσεις τελεστέοι είναι υ.ο.
Σημειογραφία:
R1 U R2 ΕΝΩΣΗΣ (R1, R2)
αντιμεταθετική ΝΑΙ ΝΑΙ συνειρμική
Φορείς: Διαφορά (δυαδικό)
Σημασιολογία:
Η προκύπτουσα σχέση περιλαμβάνει όλες τις πλειάδες του πρώτου τελεστή που δεν υπάρχουν στο δεύτερο τελεστή.
Πληκτρολόγηση:
Ο τύπος της προκύπτουσας σχήμα σχέσης είναι ότι το πρώτο τελεστή αν και οι δύο σχέσεις τελεστέοι είναι υ.ο.
Σημειογραφία:
R1 – R2 DIFF (R1, R2)
αντιμεταθετική ΟΧΙ ΟΧΙ συνειρμική
Φορείς: Επιλογή (μοναδιαίος)
Σημασιολογία:
Δημιουργήστε μια νέα σχέση με την εξαγωγή από τον τελεστή όλες τις πλειάδες που πληρούν τις προϋποθέσεις επιλογής.
πλειάδες:
Ο τύπος της προκύπτουσας σχήμα σχέσης είναι ισοδύναμο με το σχήμα του τελεστή του.
Μια συνθήκη επιλογής έχει την ακόλουθη μορφή:
Χαρακτηριστικό όνομα Σύγκριση op. Σταθερή αξία ή Χαρακτηριστικό όνομα Σύγκριση op. Χαρακτηριστικό όνομα
Μια σειρά από προϋποθέσεις επιλογής θα μπορούσε να συνδυαστεί και σε επιλεγμένα συνθήκη1 και επιλέξτε CONDITION2 ή επιλέξτε συνθήκη1 Ή επιλέξτε CONDITION2
Μερικά τυπικά τελεστές σύγκρισης για διέταξε τομείς περιλαμβάνουν>, <, ==,! =, Κ.λπ.
Σημειογραφία:
(Επιλέξτε κατάσταση) R1 SELECT (R1, συνθήκη επιλογής)
Σημείωση:
Το προκύπτον είναι ένα υποσύνολο του τελεστή!

αντιμεταθετική ΝΑΙ ΝΑΙ συνειρμική
Σχεσιακή Άλγεβρα: Χειριστές: Προϊόν (δυαδικό)
Σημασιολογία:
Δημιουργήστε μια νέα σχέση με την εκτέλεση μιας καρτεσιανό γινόμενο
των δύο τελεστές.
(Εάν οι πληθάριθ των R1 και R2 είναι 60.000 και 500
αντίστοιχα, πληθάριθμος το προϊόν τους είναι 60000 * 500 =
3.000.000!)

Πληκτρολόγηση:
Οι τελεστές μπορούν να έχουν οποιοδήποτε σχήμα σχέσης. Η προκύπτουσα σχήμα σχέσης είναι ισοδύναμη με την αλληλουχία του σχήματος σχέσης του τελεστή του.
Σημειογραφία:
Αυτό είναι ένα εξαιρετικά υπολογιστικά ακριβά
επιχείρηση!
Επίσης, η προκύπτουσα επέκταση δεν είναι συνήθως νόημα !!

αντιμεταθετική Ναι
συνειρμική Ναι

Φορείς: Projection (μοναδιαίος)
Σημασιολογία:
Δημιουργήστε μια νέα σχέση με την αφαίρεση από τον τελεστή όλα τα χαρακτηριστικά (και, κατά συνέπεια, οι τιμές τους) που δεν αναφέρονται στην έκφραση προβολής.
Πληκτρολόγηση:
Ο τύπος του προκύπτοντος σχήματος είναι ισοδύναμο με το σχήμα του τελεστή, αλλά με εξαίρεση τα χαρακτηριστικά δεν αναφέρονται στη λίστα χαρακτηριστικό.
Σημειογραφία:
(Attr … x1, …, attr_xn) PROJECT (R1, attr_x1, …, attr_xn)
Σημείωση:
Οι διπλές τιμές αφαιρούνται σιωπηρά!
Περαιτέρω Σημειώσεις:
Σε μια αλγεβρική έκφραση με μια σειρά από έργα που έχουμε δύο πράγματα συμβαίνουν – αναδιάρθρωση και εκ νέου επέκταση !! Με ορισμένους αλγεβρικούς χειρισμούς μπορεί κανείς να ξεπεράσει αυτούς τους περιορισμούς.
αντιμεταθετική (γενικά) αριθ συνειρμική (γενικά) αριθ
Ελάχιστο σύνολο των φορέων
Μπορεί να δειχθεί ότι ένα υποσύνολο των παρουσιάστηκαν φορέων (συγκεκριμένα το επιλέξτε, έργο, ένωση, διαφορά και το προϊόν) είναι επαρκή ή πλήρη, για να περιγράψει τους άλλους φορείς (π.χ. ενταχθούν, διασταύρωση κλπ).
Η αποκλειστική χρήση των χειριστών από την πλήρη σειρά κάνουν την ανάγνωση κάποια φυσική αλγεβρικές εκφράσεις εξαιρετικά άκαμπτη!
Για παράδειγμα, ο χειριστής διασταύρωση έχει αυτή τη μορφή:
ΔΙΑΣΤΑΥΡΩΣΗ (R1, R2)
είναι ισοδύναμη με ΔΠ (ΕΝΩΣΗ (R1, R2), ΕΝΩΣΗ (διαφ (R1, R2), (διαφ (R2, R1)))
ή ισοδύναμο προς
DIFF (R1, DIFF (R1, R2))
Γιατί μια άλγεβρα;
μια απλή γλώσσα
που σε έναν χρόνο πρόσβασης
σημασιολογικά ήχο
εκφράζει τα ίδια ερωτήματα ότι μια άλλη σχεσιακή γλώσσα μοντέλο που βασίζεται περιγράφει
(Δηλαδή η δηλωτική σχεσιακού λογισμού)
διαδικαστικός
optimisable
Ερώτημα (ένα) â € “”Εταιρεία
Ανάκτηση συνέχεια όνομα και διεύθυνση όλων των εργαζομένων που εργάζονται για το τμήμα â € ~Researchâ € ™.
research_dept: = επιλέξτε DNAME = â € ™ Researcgâ € ™ (τμήμα)?
research_dept_emps: = επιλέξτε dnumber = DNO (research_dept υπάλληλος προϊόν)?
algl1: = fname έργου, ΕΠΙΘΕΤΟ, διεύθυνση (research_dept_emps)?
Ερώτημα (δύο) â € “”Εταιρεία
Για κάθε έργο που βρίσκεται σε ένα € ~Staffordâ € ™, να αναφέρει τον αριθμό του έργου, τον έλεγχο αριθμό τμήματος, και το τμήμα managerâ € ™ s το τελευταίο όνομα, τη διεύθυνση και την ημερομηνία γέννησης.
Stafford-_projs: = επιλέξτε plocation = â € ™ Staffordâ € ™ (σχέδια)?
Contr_dept: = επιλέξτε ΚΩΔ_ΤΜΗΜ-dnumber (τμήμα του προϊόντος Stafford_projs)?
proj_dept_mgr: = επιλέξτε MgrSSN = ΑΜ (contr_dept υπάλληλος προϊόν)?
alg2: = έργου pnumber, ΚΩΔ_ΤΜΗΜ, ΕΠΙΘΕΤΟ, διεύθυνση, ΗΜ_ΓΕΝ (proj_dept_mgr)?
Ερώτημα (τρεις) â € “”Εταιρεία
Βρείτε τα ονόματα των υπαλλήλων που εργάζονται σε όλα τα έργα που ελέγχονται από τον αριθμό τμήμα 5.
Dept5_projs (ΠΝΟ): = pnumber έργου (επιλέξτε ΚΩΔ_ΤΜΗΜ = 5 (έργα))? ΕΡΓ_ΕΡΓΟ (ΑΜ, ΠΝΟ): = ESSN έργου, ΠΝΟ (ΑΠΑΣΧΟΛΗΣΗ)? emp_proj_ssns: = ΑΜ έργου (ΕΡΓ_ΕΡΓΟ)? % Όλες οι δυνατότητες των εργαζομένων που εργάζονται σε dept5 έργα. Poss_emps_dept5: = (dept5_projs emp_proj_ssns προϊόν)? /% Οι εργαζόμενοι που dona € ™ s εργασίες για όλα τα έργα dept5 .. emps_not_dept5: = ΑΜ έργου (poss_emps_dept5 διαφορά ΕΡΓ_ΕΡΓΟ)? result_emp_ssns: = EMP SSNs proj διαφορά emps_not_dept5? ALG3: = έργου ΕΠΙΘΕΤΟ, ΟΝΟΜΑ (result_emp_ssns njoin εργαζόμενο)?
Ερώτημα (τέσσερις) â € “”Εταιρεία
Κάντε μια λίστα με τους αριθμούς έργου για έργα που περιλαμβάνουν έναν υπάλληλο του οποίου το επώνυμο είναι â € ~Smithâ € ™, είτε ως εργαζόμενος ή ως διευθυντής του Τμήματος που ελέγχει το έργο.
Smiths (ESSN): = SSN έργου (επιλέξτε ΕΠΙΘΕΤΟ = â € ~Smithâ € ™ (υπάλληλος))?
smith_worker_projs: = ΠΝΟ έργου (ΑΠΑΣΧΟΛΗΣΗ njoin Smiths)?
MGRS: = ΕΠΙΘΕΤΟ έργου, dnumber (επιλέξτε ΑΜ = MgrSSN (τμήμα του προϊόντος εργαζόμενο))?
smith_mgrs: = selecy ΕΠΙΘΕΤΟ = â € ™ Smithâ € ™ (MGRS)?
smith_managed_depts (ΚΩΔ_ΤΜΗΜ): = dnumber έργου (smith_mgrs)?
smith_mgr_projs (ΠΝΟ): = pmumber έργου (smith_managed_depts njoin σχέδια)?
ALG3: = smith_worker_projs smith_mgr_projs ένωση?
Ερώτημα (πέντε) â € “”Εταιρεία
Λίστα με τα ονόματα όλων των εργαζομένων με δύο ή περισσότερα συντηρούμενα πρόσωπα.
% Κάντε δύο αντίγραφα των εργαζομένων με εξαρτώμενα μέλη.
Empdep1 (ESSN, depname1): = ESSN έργου, dependent_name (εξαρτώμενη)?
empdep2 (essn2, depname2): = empdep1?
& Εργαζόμενοι με περισσότερο από ένα εξαρτώμενο.
Emps_gtone_dep (ΑΜ): = essn1 έργου (επιλέξτε (ESSN = essn2) και (depname1 <> depname2) (empdep1 empdep2 προϊόν))?
alg5: = ΕΠΙΘΕΤΟ έργου, fname (υπάλληλος njoin EMPS) gtone_dep)?
Ερώτημα (έξι) – Η Εταιρεία
Ανακτήσετε τα ονόματα των εργαζομένων χωρίς εξαρτώμενα μέλη.
All_emps: = ΑΜ έργου (εργαζόμενο)? Emps_with_deps (ΑΜ): = ESSN έργου (εξαρτώμενη)? ΕΡΓ_ΧΩΡΙΣ_ΕΞΑΡΤ: = (all_emps
emps_with_deps διαφορά)? Alg6: = ΕΠΙΘΕΤΟ έργου, fname
(ΕΡΓ_ΧΩΡΙΣ_ΕΞΑΡΤ njoin εργαζόμενο)?
Ερώτημα (επτά) â € “”Εταιρεία
Λίστα με τα ονόματα των διευθυντών που έχουν τουλάχιστον ένα εξαρτώμενο.
MgrSSN (ΑΜ): = MgrSSN έργου (τμήμα)? Emps_with_deps (ΑΜ): = ESSN έργου (εξαρτώμενη)? Mgrs_with_deps: = (MgrSSN τέμνονται emps_with_deps)? ALG7: = ΕΠΙΘΕΤΟ έργου, fname
(Mgrs_with_deps njoin εργαζόμενο)?

“——————————————————————————————————————————————————

અનુવાદ આધાર: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
સંબંધ બીજગણિત
એક બીજગણિત શું છે?
બીજગણિત (અલ-JE-BRE) વ્યાકરણ
ગણિત
1 અંકગણિત એક સામાન્યીકરણ જેમાં સંજ્ઞાઓ વાપરીને, સામાન્ય રીતે મૂળાક્ષર અક્ષરો, નંબરો અથવા નંબરો એક ચોક્કસ સમૂહ સભ્યો પ્રતિનિધિત્વ કરે છે અને કામગીરી સમૂહ બધી સંખ્યાઓ માટે પકડી દ્વારા સંબંધિત છે.
2 સમૂહ છે કે જે ચોક્કસ કાયદા પાળે વ્યાખ્યાયિત કામગીરી સાથે સુયોજિત કરો.
3 વર્ડ આરબ ગણિતશાસ્ત્રી અલ-ખ્વારિઝ્મિ (અંદાજે 900 એડી) દ્વારા રજૂ કરવામાં અને 1145 માં ચેસ્ટર રોબર્ટ દ્વારા લેટિન માં ઉપર આવ્યા હતા.

[મધ્ય ઇંગલિશ, બોન-સેટ્ટીંગ અને ઇટાલિયન, બીજગણિત, બંને મધ્યયુગીન લેટિન, માંથી અરબી અલ Jabr (વિજ્ઞાન) ફરી. અલ + Jabr, પુન: એકીકરણ કર્યું, બોન-સેટ્ટીંગ]
અંકગણીતીય ભાષાઓ કમ્પ્યુટિંગ સામાન્ય છે: તર્કશાસ્ત્ર દરવાજા માટે બુલિયન બીજગણિત; અને ડેટાબેઝ DML માટે સંબંધ બીજગણિત.
એક બીજગણિત મૂળભૂત ઘટકો એક સમૂહ છે (એટલે કે ઑપેરન્ડ) અને કામગીરી (એટલે કે ઓપરેટરો) કે જે સમૂહ ના બધા તત્વો પર કાર્ય કરે છે.
ઑપરેટર ગુણધર્મો (ઉદાહરણ તરીકે, પૂર્ણાંક સેટ અને વધુમાં કામગીરી ધ્યાનમાં) સમાવેશ થાય છે: વધુમાં પૂર્ણાંકો પર પરિવર્તનીય છે, કારણ કે 3 + 4 = 4 + + 3 (વત્તા (3,4) == પ્લસ (4,3)); અને વધુમાં, કારણ કે પૂર્ણાંકો પર સમૂહનો હોવાનું કહેવાય છે 3 + (4 + + 5) = (3 +4) + + 5 (વત્તા (3, વત્તા (4,5)) == વત્તા (પ્લસ (3,4), 5 ))).
રિલાયન્સ લાક્ષણિકતાઓ. બીજગણિત
તે મારફતે સમગ્ર સંબંધો ચાલવે
કામગીરી અર્થનિર્ધારણ unambigous સમૂહ (એડ
કોડના 1970).

સંબંધ બીજગણિત માતાનો સેટ સંબંધ છે છે
વિસ્તરણ (tuples, પંક્તિઓ) અને ઓપરેટરો છે
ક્યાં સેટ સિદ્ધાંત મૂળ અથવા સંબંધ લક્ષી
તરફેણ કરે છે.

એક સંબંધ બીજ અભિવ્યક્તિ ઇનપુટ્સ તરીકે છે
(Unary), અથવા બે (બાયનરી), સંબંધો અને ક્યારેક
પસંદગી સ્થિતિ.
જ્યારે અભિવ્યક્તિ આઉટપુટ એક સંબંધ છે.

અન્ય લાક્ષણિકતાઓ:

બીજગણિત માતાનો ઓપરેટરો સંબંધ છે tuples બધા પર કામ;

બીજગણિત એક પ્રક્રિયાગત કોમ્પ્યુટેશનલ છે
મોડલ;

પરંતુ તે “”ટ્યુરિંગ સંપૂર્ણ”” નથી, એક લખી શકો છો
પાસ્કલ કાર્યક્રમ છે કે જે માટે સંબંધો ચાલવે
જે કોઈ બીજ સમકક્ષ છે.

એક પસંદગી સ્થિતિ સામે મૂલ્યાંકન કરી શકાય છે
દરેક સ્વતંત્ર tuple;

એક એક બીજ કામગીરી આઉટપુટ છે
એક પરિણામરૂપ બીજ સ્વીકાર્ય ઇનપુટ
અભિવ્યક્તિ – આ કહેવામાં આવે છે અભિવ્યક્તિ
રચના.

ઓપરેટર્સ કેન્દ્રીય (બાયનરી)
શું સંબંધ બીજ અભિવ્યક્તિ ટાઈપ અને તેના પરિણામે સંબંધ વિશે શું?
– “”યુનિયન”” સુસંગતતા બે સંબંધો (યુસી) એક બાઈનરી અભિવ્યક્તિ માટે, બે ભાગ સંબંધો (operands R1 અને R2 ને) માટે અભિવ્યક્તિ પ્રકાર યોગ્ય નીચેના માળખાકીય અવરોધ હોવો જ જોઈએ: 1) બંને સંબંધો જ ડિગ્રી હોય છે ( એટલે એ); અને 2) દરેક લક્ષણ (1 <= હું <= n), ડોમેન (R1.Attr_i) = ડોમેન (R2.Attr_i). અભિવ્યક્તિ ના ડેટા પ્રકાર બે સંબંધો u.c. છે પછી ફલસ્વરૂપ સંબંધ પદ્ધતિ મનસ્વી પસંદગી પ્રથમ ઑપેરન્ડ કે પ્રયત્ન છે. બીજું … (ઑપેરન્ડ ચોક્કસ છે – દા.ત. ઉત્પાદન ઓપરેટર) સીમેન્ટીકો: ફલસ્વરૂપ સંબંધ બધા tuple ક્યાં પ્રથમ, દ્વિતીય અથવા બંને operands હાજર છે.
ટાઈપ:
પરિણામે સંબંધ પદ્ધતિની પ્રકાર છે કે પ્રથમ ઑપેરન્ડ જો બંને ઑપેરન્ડ સંબંધો u.c. છે
નોટેશન:
R1 યુ R2 ને યુનિયન (R1, R2 ને)
પરિવર્તનીય હા સમૂહનો હા
ઓપરેટર્સ: આ તફાવત (બાયનરી)
સીમેન્ટીકો:
પરિણામે સંબંધ કે બીજા ઑપેરન્ડ હાજર નથી પ્રથમ ઑપેરન્ડ તમામ tuples સમાવેશ થાય છે.
ટાઈપ:
પરિણામે સંબંધ પદ્ધતિની પ્રકાર છે કે પ્રથમ ઑપેરન્ડ જો બંને ઑપેરન્ડ સંબંધો u.c. છે
નોટેશન:
R1 – R2 ને ભેદ (R1, R2 ને)
પરિવર્તનીય કોઈ સમૂહનો કોઈ
ઓપરેટરો: પસંદગી (unary)
સીમેન્ટીકો:
ઑપેરન્ડ તમામ tuples કે પસંદગી શરતો સંતોષવા બહાર કાઢીને નવા સંબંધ બનાવો.
Tuples:
પરિણામે સંબંધ પદ્ધતિ પ્રકાર ઑપેરન્ડ માતાનો પદ્ધતિ સમકક્ષ છે.
પસંદગી સ્થિતિ નીચેના ફોર્મ ધરાવે છે:
નામ સરખામણી ઓપ લક્ષણ. સતત કિંમત અથવા લક્ષણ નામ સરખામણી ઓપી. નામ એટ્રીબ્યુટ
પસંદગી શરતો એક શ્રેણી પસંદ કરો શરત 1 અને પસંદ શરત 2 અથવા પસંદ શરત 1 અથવા પસંદ શરત 2 તરીકે ભેગા થઈ શકે છે
આદેશ આપ્યો ડોમેન્સ માટે કેટલીક વિશિષ્ટ સરખામણી ઓપરેટર્સ સમાવેશ થાય છે>, <, ==! =, વગેરે
નોટેશન:
(પસંદ કરો શરત) R1 પસંદ કરો (R1, પસંદગી સ્થિતિ)
નૉૅધ:
પરિણામે ઑપેરન્ડ ઉપગણ છે!

પરિવર્તનીય હા સમૂહનો હા
સંબંધ બીજગણિત: ઓપરેટર્સ: ઉત્પાદન (બાયનરી)
સીમેન્ટીકો:
એક કાર્ટેઝિયન ઉત્પાદન ચલાવીને એક નવા સંબંધ બનાવો
બે operands છે.
(R1 અને R2 ને cardinalities 60000 અને 500 હોય તો
અનુક્રમે, તેમના ઉત્પાદન Cardinality 60000 * 500 = છે
3,000,000!)

ટાઈપ:
operands કોઈ સંબંધ પદ્ધતિ હોઈ શકે છે. પરિણામે સંબંધ પદ્ધતિ ઑપેરન્ડ સંબંધ પદ્ધતિની શૃંખલીકરણ સમકક્ષ છે.
નોટેશન:
આ એક અત્યંત ગણતરીની ખર્ચાળ છે
ઓપરેશન!
પણ, પરિણામ વિસ્તરણ સામાન્ય રીતે અર્થપૂર્ણ નથી !!

પરિવર્તનીય હા
સમૂહનો હા

ઓપરેટરો: પ્રોજેક્શન (unary)
સીમેન્ટીકો:
ઑપેરન્ડ થી દૂર કરીને એક નવી સંબંધ બનાવો બધા લક્ષણો (અને પરિણામે તેમની કિંમતો) કે પ્રક્ષેપણ અભિવ્યક્તિ ઉલ્લેખ કર્યો નથી.
ટાઈપ:
પરિણામે પદ્ધતિ પ્રકાર ઑપેરન્ડ માતાનો પદ્ધતિ પરંતુ લક્ષણ યાદી ઉલ્લેખ નથી લક્ષણો સિવાય સમકક્ષ છે.
નોટેશન:
(ATTR … x1, …, attr_xn) પ્રોજેક્ટ (R1, attr_x1, …, attr_xn)
નૉૅધ:
નકલી કિંમતો સર્વથા દૂર કરવામાં આવે છે!
વધુ નોંધો:
પ્રોજેક્ટ એક શબ્દમાળા સાથે બીજ અભિવ્યક્તિ અમે બે વસ્તુઓ પર રહ્યું છે – પુનઃરચના અને ફરીથી વિસ્તરે !! ચોક્કસ બીજ મેનિપ્યુલેશન્સ સાથે એક આ નિયંત્રણો દૂર કરી શકો છો.
(સામાન્ય રીતે) કોઈ સમૂહનો (સામાન્ય રીતે) કોઈ પરિવર્તનીય
ઓપરેટરો ન્યૂનત્તમ સમૂહ
તે દર્શાવી શકાય કે પ્રસ્તુત ઓપરેટરો (ખાસ કરીને પસંદ કરો, પ્રોજેક્ટ, યુનિયન, તફાવત અને ઉત્પાદન) ના ઉપગણ, પર્યાપ્ત, અથવા સંપૂર્ણ અન્ય ઓપરેટરો (છેદન વગેરે ઉદાહરણ તરીકે જોડાવા,) વર્ણવે છે.
સંપૂર્ણ સેટ ચાલકોની ની વિશિષ્ટ ઉપયોગ કેટલાક કુદરતી બીજ સમીકરણો અત્યંત unyielding વાંચન!
ઉદાહરણ તરીકે, છેદન ઓપરેટર આ ફોર્મ ધરાવે છે:
છેદન (R1, R2 ને)
ભેદ (યુનિયન (R1, R2 ને), યુનિયન (ભેદ (R1, R2 ને), (ભેદ (R2 ને, R1))) સમકક્ષ છે
અથવા સમકક્ષ
ભેદ (R1, ભેદ (R1, R2 ને))
શા માટે એક બીજગણિત?
એક સરળ ભાષા
એક સમય વપરાશ પર સેટ
અર્થનિર્ધારણ અવાજ
એ જ પ્રશ્નો છે કે અન્ય રીલેશ્નલ મોડેલ આધારિત ભાષા વર્ણવે વ્યક્ત
(એટલે કે ઘોષણાત્મક સંબંધ કલન)
પ્રક્રિયાગત
optimisable
ક્વેરી (એક) € “”કંપની
પછી નામ અને બધા કર્મચારીઓ કે જેઓ એક € ~Researchâ € ™ વિભાગ માટે કામ સરનામું મેળવે.
research_dept: = dname પસંદ = € ™ Researcgâ € ™ (વિભાગ) છે;
research_dept_emps: = પસંદ કરો dnumber = dno (research_dept ઉત્પાદન કર્મચારી);
algl1: = પ્રોજેક્ટ fname, lname, સરનામું (research_dept_emps);
ક્વેરી (બે) â € “”કંપની
દરેક એક € ~Staffordâ € ™ સ્થિત પ્રોજેક્ટ માટે, પ્રોજેક્ટ નંબર, નિયંત્રિત વિભાગ નંબર, અને વિભાગ managerâ € ™ ઓ છેલ્લું નામ, સરનામું, અને જન્મતારીખ યાદી.
સ્ટેફોર્ડ _projs: = plocation પસંદ = એક € ™ Staffordâ € ™ (પ્રોજેક્ટ્સ);
Contr_dept: = પસંદ કરો dnum-dnumber (Stafford_projs ઉત્પાદન વિભાગ);
proj_dept_mgr: = પસંદ કરો mgrssn = SSN (contr_dept ઉત્પાદન કર્મચારી);
alg2: = પ્રોજેક્ટ pnumber, dnum, lname, સરનામું, bdate (proj_dept_mgr);
ક્વેરી (ત્રણ) â € “”કંપની
કર્મચારીઓ કે જેઓ તમામ પ્રોજેક્ટ્સ વિભાગ નંબર 5 દ્વારા નિયંત્રિત પર કામ નામો શોધો.
Dept5_projs (pno): = પ્રોજેક્ટ pnumber (= 5 (પ્રોજેક્ટ્સ dnum પસંદ કરો)); emp_proj (SSN, pno): = પ્રોજેક્ટ essn, pno (works_on); emp_proj_ssns: = પ્રોજેક્ટ SSN (emp_proj); % Dept5 પ્રોજેક્ટ પર કામ કરતા કર્મચારીઓ તમામ શક્યતાઓ. ; Poss_emps_dept5 /% કર્મચારીઓ કે બધા dept5 પ્રોજેક્ટ .. emps_not_dept5 પર તેને € ™ ઓ કામ = (ઉત્પાદન emp_proj_ssns dept5_projs): = પ્રોજેક્ટ SSN (poss_emps_dept5 તફાવત emp_proj); result_emp_ssns: = EMP અંદાજ SSNs તફાવત emps_not_dept5; alg3: = પ્રોજેક્ટ lname, fname (result_emp_ssns કર્મચારી njoin);
ક્વેરી (ચાર) â € “”કંપની
કે પ્રોજેક્ટ એક કર્મચારી જેની છેલ્લા નામ € ~Smithâ € ™ છે સમાવેશ, ક્યાં એક કાર્યકર તરીકે અથવા ડિપાર્ટમેન્ટ ઓફ એક વ્યવસ્થાપક કે જે પ્રોજેક્ટ નિયંત્રિત તરીકે પ્રોજેક્ટ નંબરોની યાદી બનાવો.
સ્મિથ્સ (essn): = પ્રોજેક્ટ SSN (lname પસંદ = એક € ~Smithâ € ™ (કર્મચારી));
smith_worker_projs: = પ્રોજેક્ટ pno (works_on njoin સ્મિથ્સ);
mgrs: = પ્રોજેક્ટ lname, dnumber (પસંદ SSN = mgrssn (કર્મચારી ઉત્પાદન વિભાગ));
smith_mgrs: = selecy lname = એક € ™ સ્મિતા € ™ (mgrs);
smith_managed_depts (dnum): = પ્રોજેક્ટ dnumber (smith_mgrs);
smith_mgr_projs (pno): = પ્રોજેક્ટ pmumber (પ્રોજેક્ટ્સ njoin smith_managed_depts);
alg3: = smith_worker_projs યુનિયન smith_mgr_projs;
ક્વેરી (પાંચ) â € “”કંપની
તમામ કર્મચારીઓ નામો બે અથવા વધુ આશ્રિતો સાથે યાદી.
% આશ્રિતો સાથે કર્મચારીઓ બે નકલો બનાવો.
Empdep1 (essn, depname1): = પ્રોજેક્ટ essn, dependent_name છે (આશ્રિત);
empdep2 (essn2, depname2): = empdep1;
અને એક કરતાં વધુ નિર્ભર સાથે કર્મચારીઓ.
Emps_gtone_dep (SSN): = પ્રોજેક્ટ essn1 (પસંદ કરો (essn = essn2) અને (depname1 <> depname2) (empdep1 ઉત્પાદન empdep2));
alg5: = પ્રોજેક્ટ lname, fname (emps njoin કર્મચારી) gtone_dep);
ક્વેરી (છ) – કંપની
કર્મચારીઓ કે જેઓ કોઈ આશ્રિતો હોય નામો પુનઃપ્રાપ્ત.
All_emps: = પ્રોજેક્ટ SSN (કર્મચારી); Emps_with_deps (SSN): = પ્રોજેક્ટ essn છે (આશ્રિત); Emps_without_deps: = (all_emps
તફાવત emps_with_deps); Alg6: = પ્રોજેક્ટ lname, fname
(Emps_without_deps કર્મચારી njoin);
ક્વેરી (સાત) â € “”કંપની
જે મેનેજરો ઓછામાં ઓછા એક આશ્રિત હોય નામો ની યાદી.
Mgrssn (SSN): = પ્રોજેક્ટ mgrssn (વિભાગ); Emps_with_deps (SSN): = પ્રોજેક્ટ essn છે (આશ્રિત); Mgrs_with_deps: = (mgrssn emps_with_deps છેદાય); Alg7: = પ્રોજેક્ટ lname, fname
(Mgrs_with_deps કર્મચારી njoin);

“——————————————————————————————————————————————————

tradiksyon sipò: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
relasyon Aljèb
Ki sa ki yon Aljèb?
aljèb (al-je-BRE) noun
Matematik
1 Yon jeneralizasyon nan aritmetik nan ki senbòl, anjeneral, lèt nan alfabè a, reprezante nimewo oswa manm nan yon seri espesifik nan nimewo, epi yo ki gen rapò pa operasyon ki kenbe pou tout nimewo nan ansanm lan.
2 Yon mete ansanm ak operasyon sa defini nan mete nan ki obeyi lwa espesifye.
3 Pawòl ki te entwodwi pa Arab matematisyen al-Khwarizmi (environ 900 AD) ak te pote sou nan Latin pa Robert nan Chester nan 1145.

[Middle lang angle, zo-anviwònman ak Italyen, aljèb, tou de nan Medyeval Latin, ki soti nan Arabic al-jabr, (syans nan) reyini:. Al, + jabr, reyinifikasyon, zo-anviwònman an]
Aljebrik lang yo komen nan informatique: Boolean aljèb pou pòtay lojik; ak Rlasyonèl aljèb pou baz done DML.
engredyan de baz nan yon aljèb se yon seri (dir opérande) ak operasyon (dir operatè) ki aji sou tout eleman nan ansanm lan.
pwopriyete Operator (pou egzanp, konsidere yon nonb antye relatif mete ak operasyon an de sa) gen ladan yo: Adisyon se komitatif sou nonm antye relatif yo depi 3 + 4 = 4 + 3 (plis (3,4) == plis (4,3)); ak Adisyon se di ke yo dwe asosyatif sou nonm antye relatif yo depi 3 + (4 + 5) = (3 + 4) + 5 (plis (3, plis (4,5)) == plis (plis (3,4), 5 ))).
Karakteristik rl la. Aljèb
Li manipile relasyon tout nan yon
seri Semantics unambigous nan operasyon (Ed
Codd 1970).

kouche aljèb nan relasyon a yo la a relasyon
ekstansyon (tuples, ranje) ak operatè yo gen
swa yon mete orijin rasyonèl oswa relasyon oryante
favorize.

Yon ekspresyon relasyon aljebrik te gen kòm entrain youn
(Unèr), oswa de (binè), relasyon epi pafwa yon
seleksyon kondisyon.
Pandan ke pwodiksyon yon ekspresyon a se yon relasyon sèl.

Lòt Karakteristik:

operatè aljèb la travay sou tout nan tuples relasyon a;

aljèb la gen yon enfòmatik pwosedi
modèl;

Men, li se pa “”Turing Ranpli Fòm nan””, yon moun ka ekri yon
Pascal pwogram ki manipul relasyon pou
ki pa gen okenn ekivalan aljebrik.

yon kondisyon seleksyon gen yo dwe evalye kont
chak tupl poukont;

pwodiksyon an nan yon operasyon aljebrik se yon
akseptab D ‘nan yon aljebrik konsekan
ekspresyon – sa a ekspresyon yo rele
konpozisyon.

Operatè: Union (binè)
Ki sa ki sou sezisman la nan yon ekspresyon aljebrik relasyon ak relasyon resultant li yo?
“”UNION”” Konpatibilite (elatriye) nan TWO Relasyon Pou yon ekspresyon binè, de k ap patisipe relasyon (opérandes yo – R1 ak R2) dwe gen sa yo kontrent yo estriktirèl pou ekspresyon nan yo dwe kalite kòrèk: 1) tou de relasyon gen degre nan menm ( sa vle di n); & 2) pou chak atribi (1 <= m <= n), domèn nan (R1.Attr_i) = domèn (R2.Attr_i). Kalite a DONE OF YON a Ekspresyon SI de relasyon yo se nan u.c. EPI proje a relasyon nan resultant la se abitrè chwazi yo dwe sa yo ki an opérande a an premye. LÒT … (opérande espesifik – e.g. operatè pwodwi) Semantics: relasyon an resultant te gen tout tupl a prezan nan swa premye a, dezyèm lan oswa toude opérandes.
sezisman:
Ki kalite proje a relasyon resultant se sa yo ki an opérande nan premye si toude relasyon opérande yo nan u.c.
notasyon:
R1 U R2 UNION (R1, R2)
komitatif WI asosyatif WI
Operatè: diferans (binè)
Semantics:
relasyon an resultant gen ladan tout tuples yo nan opérande nan premye ki pa prezan nan opérande, dezyèm lan.
sezisman:
Ki kalite proje a relasyon resultant se sa yo ki an opérande nan premye si toude relasyon opérande yo nan u.c.
notasyon:
R1 – R2 dif (R1, R2)
komitatif NO asosyatif NO
Operatè: Seleksyon (unèr)
Semantics:
Kreye yon nouvo relasyon pa èkstraksyon soti nan opérande nan tout tuples ki satisfè kondisyon sa yo seleksyon.
tuples:
Ki kalite proje a relasyon resultant ki ekivalan a proje opérande la.
Yon kondisyon seleksyon gen fòm sa a:
Atribi non Konparezon op. Constant valè oswa atribi Non Konparezon op. atribi non
te kapab Yon seri kondisyon pou chwazi fèt pou l melanje tankou nan chwazi condition1 AK chwazi condition2 oswa chwazi condition1 OSWA chwazi condition2
Gen kèk operatè konparezon tipik pou te bay lòd domèn gen ladan>, <, ==,! =, Elatriye
notasyon:
(Chwazi kondisyon) R1 chwazi (R1, seleksyon kondisyon)
Remak:
resultant la se yon sou nan opérande a!

komitatif WI asosyatif WI
Relasyon Aljèb: Operatè: Pwodwi (binè)
Semantics:
Kreye yon relasyon nouvo pa egzekite yon pwodwi katezyen
nan de opérandes yo.
(Si cardinalities yo nan R1 ak R2 yo 60000 ak 500
respektivman, cardinalité pwodwi yo la se 60000 * 500 =
3,000,000!)

sezisman:
opérandes yo ka gen nenpòt proje relasyon. proje nan relasyon resultant ki ekivalan a Anchènman la nan proje relasyon opérande la.
notasyon:
Sa a se yon trè kalkil chè
operasyon!
Epitou, ekstansyon sa a resultant se pa anjeneral sans !!

komitatif Wi
asosyatif Wi

Operatè: pwojeksyon (unèr)
Semantics:
Kreye yon relasyon nouvo pa retire soti nan opérande nan tout atribi (epi kidonk valè yo) ki pa mansyone nan ekspresyon ki pwojeksyon.
sezisman:
Ki kalite proje a resultant ki ekivalan a proje opérande nan men eksepte atribi pa mansyone nan lis la atribi.
notasyon:
(Atre … x1, …, attr_xn) PROJECT (R1, attr_x1, …, attr_xn)
Remak:
valè Kopi yo chal retire!
Pli lwen Nòt:
Nan yon ekspresyon aljebrik ak yon kòd nan pwojè nou gen de bagay sa yo pral sou – restriktirasyon ak re-pwolonje !! Avèk sèten manipilasyon aljebrik yon moun ka simonte restriksyon sa yo.
komitatif (an jeneral) Non asosyatif (an jeneral) Non
seri minimòm nan operatè
Li kapab montre ke yon sou nan operatè yo prezante (espesyalman chwazi, pwojè, sendika, diferans lan ak pwodwi) gen ase, oswa konplè, a dekri lòt operatè yo (pou egzanp rantre nan, entèseksyon elatriye).
Itilize nan san konte lè operatè nan ansanm sa a nèt sou tout pwen fè lekti kèk ekspresyon natirèl aljebrik trè rijid!
Pou egzanp, operatè a entèseksyon gen fòm sa a:
INTERSECTION (R1, R2)
ki ekivalan a dif (UNION (R1, R2), UNION (dif (R1, R2), (dif (R2, R1)))
oswa ekivalan a
Dif (R1, dif (R1, R2))
Poukisa yon aljèb?
yon lang senp
mete nan yon aksè tan
son Semantics
eksprime demann yo menm ke yon lòt relasyon modèl ki baze ak lang dekri
(Dir asèrtif kalkil matematik la relasyon)
pwosedi
optimisable
Rekèt (youn) â € “”Konpayi
Rekipere Lè sa a, non ak adrès tout anplwaye ki travay pou â € ~Researchâ € ™ depatman an.
research_dept: = chwazi dname = â € ™ Researcgâ € ™ (depatman);
research_dept_emps: = chwazi dnumber = DEPANS (research_dept anplwaye pwodwi);
algl1: = pwojè fname, lname, adrès (research_dept_emps);
Rekèt (de) â € “”Konpayi
Pou chak pwojè sitiye nan â € ~Staffordâ € ™, lis nimewo a Pwojè, nimewo a depatman kontwole, Ak managerâ an depatman € ™ s dènye non, adrès, ak DAT NESANS.
Stafford-_projs: = chwazi plocation = â € ™ Staffordâ € ™ (pwojè);
Contr_dept: = chwazi dnum-dnumber (Stafford_projs pwodwi depatman);
proj_dept_mgr: = chwazi mgrssn = SSN (contr_dept anplwaye pwodwi);
Aljèb2: = pwojè pnumber, dnum, lname, adrès, bdate (proj_dept_mgr);
Rekèt (twa) â € “”Konpayi
Jwenn non yo nan anplwaye ki travay sou tout Pwojè yo kontwole pa kantite depatman 5.
Dept5_projs (pno): = pwojè pnumber (chwazi dnum = 5 (pwojè)); emp_proj (SSN, pno): = pwojè essn, pno (works_on); emp_proj_ssns: = pwojè SSN (emp_proj); % Tout posibilite pou anplwaye k ap travay sou pwojè dept5. Poss_emps_dept5: = (dept5_projs emp_proj_ssns pwodwi); /% Anplwaye ki don € ™ s travay sou tout pwojè dept5 .. emps_not_dept5: = pwojè SSN (poss_emps_dept5 diferans emp_proj); result_emp_ssns: = EMP PROJ SSN diferans emps_not_dept5; alg3: = pwojè lname, fname (result_emp_ssns njoin anplwaye);
Rekèt (kat) â € “”Konpayi
Fè yon lis nimewo pwojè pou pwojè ki Angaje yon anplwaye ki gen siyati ki se â € ~Smithâ € ™, Swa kòm yon travayè oswa kòm yon manadjè nan Depatman an ki kontwole pwojè a.
Smiths (essn): = pwojè SSN (chwazi lname = â € ~Smithâ € ™ (anplwaye));
smith_worker_projs: = pwojè pno (works_on njoin SMITHS);
mgrs: = pwojè lname, dnumber (chwazi SSN = mgrssn (anplwaye pwodwi depatman));
smith_mgrs: = selecy lname = â € ™ SMITHA € ™ (mgrs);
smith_managed_depts (dnum): = pwojè dnumber (smith_mgrs);
smith_mgr_projs (pno): = pwojè pmumber (smith_managed_depts njoin pwojè);
alg3: = smith_worker_projs smith_mgr_projs sendika;
Rekèt (senk) â € “”Konpayi
Fè lis non yo nan tout anplwaye ki gen de oubyen plis Depandan.
% Fè de kopi anplwaye ki gen depandan.
Empdep1 (essn, depname1): = pwojè essn, dependent_name (depann);
empdep2 (essn2, depname2): = empdep1;
& Anplwaye ki gen plis pase yon depandan.
Emps_gtone_dep (SSN): = pwojè essn1 (chwazi (essn = essn2) ak (depname1 <> depname2) (empdep1 pwodwi empdep2));
alg5: = pwojè lname, fname (anplwaye njoin emps) gtone_dep);
Rekèt (sis) – Konpayi
Rekipere non yo nan anplwaye ki pa gen okenn Depandan.
All_emps: = pwojè SSN (anplwaye); Emps_with_deps (SSN): = pwojè essn (depann); Emps_without_deps: = (all_emps
emps_with_deps diferans); Alg6: = pwojè lname, fname
(Emps_without_deps njoin anplwaye);
Rekèt (sèt) â € “”Konpayi
Fè lis non yo nan administratè yo ki gen omwen Youn depandan.
Mgrssn (SSN): = pwojè mgrssn (depatman); Emps_with_deps (SSN): = pwojè essn (depann); Mgrs_with_deps: = (mgrssn kwaze emps_with_deps); Alg7: = pwojè lname, fname
(Mgrs_with_deps njoin anplwaye);

“——————————————————————————————————————————————————

Support translation: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
da zumunci aljabara
Mene ne wani aljabara?
aljabara (al-je-Bre) suna
lissafi
1 A hakan na ilmin lissafi a cikin abin da alamomin, yawanci letters na haruffa, wakilci lambobi ko ‘yan da wani sa na lambobi da kuma suna da alaka da yadda ake gudanar da rike ga dukan lambobi a cikin sa.
2 A kafa tare da yadda ake gudanar a tsare a cikin sa bi kayyade dokokin.
3 Kalmar gabatar da Arab lissafi al-Khwarizmi (circa 900 AD) da kuma kawo kan a cikin Latin da Robert na Chester a 1145.

[Middle Turanci, kashi-wuri da kuma Italiyanci, aljabara, duka daga na da Latin, daga Arabic al-Jabr, da (ilmin) reuniting: al, da + Jabr, sauyin, kashi-wuri.]
Algebraic harsuna ne na kowa a kwamfuta: Boolean aljabara for dabaru ƙõfõfi. kuma da zumunci aljabara for database DML.
Basic sinadaran wani aljabara ne mai sa (Ina nufin operand) da kuma yadda ake gudanar (Ina nufin aiki) cewa aiki a kan dukkan abubuwa na sa.
Operator Properties (misali, ka yi la’akari da wani lamba kafa da kuma Bugu da kari aiki) sun hada da: Bugu da kari shi ne zabi ko a kan integers tun 3 + 4 = 4 + 3 (da (3,4) == da (4,3)). kuma Bugu da kari an ce ya zama associative kan integers tun 3 + (4 + 5) = (3 + 4) + 5 (da (3, da (4,5)) == da (da (3,4), 5 ))).
Halaye na rel. aljabara
Yana manipulates duka dangantakar ta
semantically unambigous sa na gudanar (Ed
Codd 1970).

The zumunci aljabara ta sets ne dangane ta
tsawo (tuples, layuka) da kuma aiki da
ko dai wani ya kafa theoretic asali ko aboki daidaitacce
so.

A da zumunci algebraic magana yana a matsayin bayanai daya
(Unary), ko biyu (binary), dangantakar da kuma wani lokacin a
selection yanayin.
Duk da yake an magana ta fitarwa ne guda dangane.

Other Halaye:

da aljabara ta aiki aiki a kan duk na aboki ta tuples.

da aljabara yana da procedural mai aiki da na’urar kwamfuta
model.

Amma shi ne, ba “”Turing complete””, wanda zai iya rubuta
Pascal shirin da manipulates dangantakar for
wanda bãbu algebraic m.

a selection yanayin da da za a kimanta kan
kowane tuple da kansa.

fitarwa na wani algebraic aiki ne mai
m labari zuwa consequent algebraic
magana – wannan ne ake kira magana
abun da ke ciki.

Aiki: Union (binary)
Me game da bugawa da wani zumunci algebraic magana da resultant aboki?
“”Union”” karfinsu (UC) biyu dangantakar Ga wani binary magana, biyu halartar dangantakar (operands – R1 da R2) dole ne wadannan tsarin constraints ga magana ya zama type daidai: 1) biyu dangantakar da wannan mataki ( watau n). & 2) ga kowane sifa (1 <= i <= n), da domain (R1.Attr_i) = domain (R2.Attr_i). THE DATA irin AN Zancen ta IF biyu dangantakar ne a u.c. THEN mu’amaloli tsari na resultant ne sabani ya zabi na farko operand. Kuma … (operand takamaiman – msl samfurin sadarwarka) ilimin harsuna: The resultant dangane da dukan tuple ba a ko dai na farko, na biyu ko kuma duka biyun operands.
buga:
A irin na resultant aboki tsari shi ne cewa na farko operand idan biyu operand dangantakar ne a u.c.
tsarin rubutu:
R1 U R2 UNION (R1, R2)
zabi ko YES associative YES
Aiki: Difference (binary)
ilimin harsuna:
The resultant aboki ya hada da dukan tuples na farko operand da basu ba a karo na biyu operand.
buga:
A irin na resultant aboki tsari shi ne cewa na farko operand idan biyu operand dangantakar ne a u.c.
tsarin rubutu:
R1 – R2 DIFF (R1, R2)
zabi ko NO associative NO
Aiki: Selection (unary)
ilimin harsuna:
Create wani sabon aboki da extracting daga operand dukan tuples cewa gamsar da selection yanayi.
Tuples:
A irin na resultant aboki tsari ne daidai da operand ta tsari.
A selection yanayin yana da wadannan form:
Sifa suna Kwatanta op. Constant darajar ko sifa sunan Kwatanta op. sanyã name
A jerin Selection yanayi za a iya hade kamar yadda a cikin zaži condition1 DA zaži condition2 ko zaži condition1 KO zaži condition2
Wasu hankula kwatanta aiki ga umarnin domains hada>, <, ==,! =, Da dai sauransu
tsarin rubutu:
(Zaži yanayin) R1 zaži (R1, selection yanayin)
Note:
The resultant ne a tsarin cikin tsari na operand!

zabi ko YES associative YES
Da zumunci aljabara: aiki: Product (binary)
ilimin harsuna:
Create wani sabon aboki da aiwatar a Cartesian samfurin
na biyu operands.
(Idan cardinalities na R1 da R2 ne 60000 da 500
bi da bi, su samfurin ta cardinality ne 60000 * 500 =
3.000.000!)

buga:
The operands iya samun wani aboki tsari. The resultant aboki tsari ne daidai da concatenation na operand ta dangane tsari.
tsarin rubutu:
Wannan sigar musamman computationally tsada
aiki!
Har ila yau, da resultant tsawo ne ba yakan m !!

zabi ko a
associative a

Aiki: tsinkaya (unary)
ilimin harsuna:
Create wani sabon aboki ta cire daga operand duk halayen (kuma saboda haka su dabi’u) cewa ba su da aka ambata a cikin tsinkaya magana.
buga:
A irin na resultant tsari ne daidai da operand ta tsari amma ban da halayen da aka ambata ba a cikin sifa list.
tsarin rubutu:
(Attr … x1, …, attr_xn) PROJECT (R1, attr_x1, …, attr_xn)
Note:
Kwafin dabi’u suna jabu cire!
Bugu da ari, Notes:
A wata algebraic magana da kirtani na ayyukan mu da abubuwa biyu faruwa – sake fasalin al’amura da kuma sake mikawa !! Tare da wani algebraic jan wanda zai iya shawo kan wadannan hane-hane.
zabi ko (a general) No associative (a general) No
Kadan ya kafa aiki
Ba za a iya nuna cewa a tsarin cikin tsari na gabatar aiki (musamman da zaži, aikin, ƙungiyar, bambanci da samfurin) ne isasshen, ko duka, ga bayyana da sauran aiki (misali shiga, mahada da dai sauransu).
The m amfani da aiki daga cikakken sa zai sa a yi karatun wasu halitta algebraic maganganu musamman unyielding!
Alal misali, mahada sadarwarka yana da wannan tsari:
Mahada (R1, R2)
ne m to DIFF (Union (R1, R2), UNION (DIFF (R1, R2), (DIFF (R2, R1)))
ko daidai to
DIFF (R1, DIFF (R1, R2))
Me ya sa wani aljabara?
mai sauki harshe
saita a lokaci access
semantically sauti
nuna wannan queries cewa wani zumunci model tushen harshe bayyana
(Ina nufin da declarative da zumunci ilimin lissafi)
procedural
optimisable
Tambaya (daya) â € “”Company
Mai da to suna da adireshin duk ma’aikata da suka yi aiki domin â € ~Researchâ € ™ sashen.
research_dept: = zaži dname = â € ™ Researcgâ € ™ (sashen);
research_dept_emps: = zaži dnumber = dno (research_dept samfurin ma’aikaci);
algl1: = aikin fname, lname, address (research_dept_emps);
Tambaya (biyu) â € “”Company
Ga kõwace aikin located in â € ~Staffordâ € ™, jera Project lambar, da iko sashen number, Kuma sashen managerâ € ™ s karshe name, address, Kuma ranar haihuwa.
Stafford-_projs: = zaži plocation = â € ™ Staffordâ € ™ (ayyukan);
Contr_dept: = zaži dnum-dnumber (Stafford_projs samfurin sashen);
proj_dept_mgr: = zaži mgrssn = ssn (contr_dept samfurin ma’aikaci);
alg2: = aikin pnumber, dnum, lname, address, bdate (proj_dept_mgr);
Tambaya (uku) â € “”Company
Find sunayen ma’aikatan suka yi aiki a kan dukan Projects sarrafawa by sashen number 5.
Dept5_projs (pno): = aikin pnumber (zaži dnum = 5 (ayyukan)). emp_proj (ssn, pno): = aikin essn, pno (works_on); emp_proj_ssns: = aikin ssn (emp_proj); % All yiwuwa na ma’aikata aiki a kan dept5 ayyukan. Poss_emps_dept5: = (dept5_projs samfurin emp_proj_ssns); /% Ma’aikata cewa Dona € ™ s aiki a kan duk dept5 ayyukan .. emps_not_dept5: = aikin ssn (poss_emps_dept5 bambanci emp_proj); result_emp_ssns: = emp proj ssns bambanci emps_not_dept5. alg3: = aikin lname, fname (result_emp_ssns njoin ma’aikaci);
Tambaya (hudu) â € “”Company
Make a jerin shiri lambobin domin gudanar da ayyukan da ta shafi wani ma’aikaci wanda karshe name shi ne â € ~Smithâ € ™, ko dai a matsayin ma’aikacin ko matsayin manajan sashen cewa iko da aikin.
Maƙera (essn): = aikin ssn (zaži lname = â € ~Smithâ € ™ (ma’aikaci)).
smith_worker_projs: = aikin pno (works_on njoin maƙera);
mgrs: = aikin lname, dnumber (zaži ssn = mgrssn (ma’aikaci samfurin sashen)).
smith_mgrs: = selecy lname = â € ™ Smithâ € ™ (mgrs);
smith_managed_depts (dnum): = aikin dnumber (smith_mgrs);
smith_mgr_projs (pno): = aikin pmumber (smith_managed_depts njoin ayyukan);
alg3: = smith_worker_projs ƙungiyar smith_mgr_projs.
Tambaya (biyar) â € “”Company
Jerin sunayen duk ma’aikata da biyu ko fiye dogara.
% Make biyu kofe na ma’aikata da dogara.
Empdep1 (essn, depname1): = aikin essn, dependent_name (dogara).
empdep2 (essn2, depname2): = empdep1.
& Ma’aikata fiye da daya dogara.
Emps_gtone_dep (ssn): = aikin essn1 (zaži (essn = essn2) da kuma (depname1 <> depname2) (empdep1 samfurin empdep2)).
alg5: = aikin lname, fname (ma’aikaci njoin emps) gtone_dep);
Tambaya (shida) – Company
Mai da sunayen ma’aikatan da suka yi ba dogara.
All_emps: = aikin ssn (ma’aikaci); Emps_with_deps (ssn): = aikin essn (dogara). Emps_without_deps: = (all_emps
Sauyi emps_with_deps); Alg6: = aikin lname, fname
(Emps_without_deps njoin ma’aikaci);
Tambaya (bakwai) â € “”Company
Jerin sunayen manajoji suke da akalla daya dogara.
Mgrssn (ssn): = aikin mgrssn (sashen); Emps_with_deps (ssn): = aikin essn (dogara). Mgrs_with_deps: = (mgrssn rarraba emps_with_deps); Alg7: = aikin lname, fname
(Mgrs_with_deps njoin ma’aikaci);

“——————————————————————————————————————————————————

Kākoʻo unuhi: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
Relational helu
He aha ka mea he helu?
hōʻailona helu (AL-Iehosapata ke-bre) noun
makemakika
1 ¶ A generalization o ka makemakika ma ka hōʻailona, i hookuu palapala o ka Hawaiʻi, ho i helu ‘ole lālā o kekahi kau o na huahelu, a ua hai mai e hana i noho ai no na mea a pau loa i loko o ka ahaaina.
2 A i pu me na hana i ho’ākāka ‘ia ma ka ahaaina i ka poe malama ia ke koho’ ia kanawai.
3 Word hoʻolauna e ¶ʻO’Araba mathematician AL-Khwarizmi (circa 900 AD) a lawe mai la i Roma ma Robert o Honolulu i ka 1145.

[Middle English, iwi-okoʻa no ka manawa, a me Ikalia, hōʻailona helu, o mai Medieval he Roma, mai Alapia AL-jabr, ka ( ‘epekema o) hui hou:: AL, ka + jabr, reunification, iwi-okoʻa no ka manawa]
Algebraic ‘ōlelo, ua pono ole iloko o Me: Lālā paʻa hōʻailona helu no ka mea, ke kūpili puka; a me Relational hōʻailona helu no ka hōkeoʻikepili DML.
Walaʻauʻana nā mea hoʻohui o ka hōʻailona helu he lākou (i.e. operand) a me na hana (i.e. ke hana) ka mea e hana ana ma na oihana mua o ka ahaaina.
‘Ana, ka waiwai (no ka mea, laʻana, noonoo i integer kau a me ka hou ana) ioiinyony: Eia hou, ua commutative ma luna o nā integers mai 3 + 4 = 4 + 3 (eia (3,4) == eia kekahi (4,3)). a me Eia hou, ua olelo ia e associative ma luna o nā integers mai 3 + (4 + 5) = (3 + 4) + 5 (eia kekahi (3, eia kekahi (4,5)) == eia kekahi (eia (3,4), 5 ))).
Ano o ka Rel. helu
It manipulates holoʻokoʻa ana ma ka
semantically unambigous kau o ka hana (Ed
Codd makahiki 1970).

Ka relational hōʻailona helu i puhi ia na iwaena o
palena manawa (tuples, lalani) a me nā ‘ana, ua
ma ka hoonoho theoretic kumu ‘ole pili aʻo i kaʻoihana
aloha.

A relational algebraic olelo i like me nā manaʻo kekahi
(Unary), ai ole ia, elua (aeaie), hoahanau, a me kekahi manawa, he
koho kulana.
Oiai ka ‘aoʻao o ka auaiaea ka mea, he hoʻokahi pili.

Other ano:

ka hōʻailona helu a ke hana hana ma na mea a pau o ke ana ka tuples;

ka hōʻailona helu i kekahi leka computational
kükohu;

Aka, he mea ole ia. “”Turing paʻa””, kekahi e hiki ke kakau iho i
Pascal papahana i manipulates ana no
i ka mea, aohe algebraic like paha.

ke koho ana i ia e ku e ana kūpono
kela tuple kū kaʻawale;

ka auoiaea o ka algebraic hana, he
oluolu manaʻo kōkua i ka consequent algebraic
‘aoʻao – i keia mea i kapa’ aoʻao
haku mele ‘ana.

Ke hana: Union (aeaie)
He aha e pili ana i ke kikokiko ai o ka relational algebraic i kona, a me kona resultant pili?
“”Hui”” hoʻokaulike (uc) o elua pili No ka mea, he aeaie olelo, i ka elua ‘oihana hoahanau (operands – R1, a R2) e loaa i ka hahai mall constraints no ka mea hōʻike, i lilo’ ano pololei: 1) na hoahanau i ka like degere ( oa n); & 2) no kela a me keia kaila (1 <= i <= N), ke kikowaena (R1.Attr_i) = kikowaena (R2.Attr_i). Aeaiiuoʻano HE ‘aoʻao o ka Ina o na hoahanau elua iloko o u.c. A laila, i ka pili XML o ka resultant ua ākeʻakeʻa kumu i waeʻia he poʻe o ka operand mua. ‘ē Aʻe … (operand i ho’ākāka ‘- e laʻa me huahana Aʻole) Semantics: The resultant pili i nā mea a pau i ka tuple makana iloko o kekahi o ka mua, ka lua, aole hoi elua operands.
i kikokiko ai:
Keʻano o ka resultant pili XML no ia o ka operand mua ina na operand ana iloko o ka u.c.
Notation:
R1 U R2 Union (R1, R2)
commutative Ae associative Ae
Ke hana: unuhi (aeaie)
Semantics:
Ka resultant pili komo i na tuples o ka operand mua o ka poe i hiki mai iloko o ka lua o ka operand.
i kikokiko ai:
Keʻano o ka resultant pili XML no ia o ka operand mua ina na operand ana iloko o ka u.c.
Notation:
R1 – R2 DIFF (R1, R2)
commutative NO associative NO
Ke hana: Anahonua (unary)
Semantics:
Ho okumu i kekahi hou pili ma ka extracting mai ka operand a pau tuples e panai ai i na koho ana.
Tuples:
Keʻano o ka resultant pili XML, ua like no ka operand ka XML.
A koho ana i kēia palapala:
Ke kaila inoa Hoʻohālikelike Kaiaulu. Ikaika waiwai a kaila inoa Hoʻohālikelike Kaiaulu. kaila inoa
A moʻo o ke Anahonua, kūlana hiki ke hui e like me ia i wae condition1 A ME wae condition2 a wae condition1 OR wae condition2
Kekahi KOLOHE e like ‘ana, no ka mea, kauoha kikowaena helu’>, <, ==,! =, A pela aku
Notation:
(Wae ano) R1 Mo (R1, koho ana)
‘Ōlelo Aʻo:
Ka resultant he subset o ka operand!

commutative Ae associative Ae
Relational helu: ke hana: Product (aeaie)
Semantics:
Ho okumu i kekahi hou pili i ka hana i ka Cartesian huahana
o na operands elua.
(Ina na cardinalities o R1, a R2 he 60000, a me 500
pakahi, o ko lakou huina hoonui ka cardinality he 60000 * 500 =
3.000.000!)

i kikokiko ai:
Na operands ke loaa kekahi pili XML. Ka resultant pili XML, ua like me ka concatenation o ka operand ke ana XML.
Notation:
Keia mea he’āina computationally pipiʻi
ana!
Hoi, ke resultant palena manawa, aole ia i hookuu ka manaʻoi !!

commutative Ae
associative Ae

Ke hana: Projection (unary)
Semantics:
Ho okumu i kekahi hou pili ma ka wehe ‘ana mai o ka operand a pau i ke kaila (a nolaila ko lakou mau loina) ka poe aole i oleloia iloko o ka projection hōʻike.
i kikokiko ai:
Keʻano o ka resultant XML, ua like no ka operand ka XML aka, Ma waho aʻeo kaʻAno aole i oleloia iloko o ke kaila papa.
Notation:
(Attr … x1, …, attr_xn) PĀHANA (R1, attr_x1, …, attr_xn)
‘Ōlelo Aʻo:
ʻia Kekahi mau mea Hawaiʻi, ua implicitly i lawe!
Hou Notes:
Ma ka algebraic olelo me ka kaula o ka papahana kakou i na mea elua e hele ana ma luna o – restructuring a me ka hou-hiki !! Me kekahi algebraic manipulations i kekahi ke lanakila kēia mau palena.
commutative (ma ka nui) No associative (ma ka nui) No
Minimal kau o ke hana
He mea hiki e hoike ana i ka subset o ka hōʻike ‘ana, (ua hōʻike hewa i ka wae, papahana, hui, unuhi a me ka loaa) ua kūpono ka, a me ke kina ole, e wehewehe i kekahi ke hana, (no ka mea, laʻana hui, kuʻina a pela aku).
Ka exclusive hoʻohanaʻana i ke hana, mai ka loa kau hoike kekahi maoli algebraic, ka ‘aoʻao heluhelu loa Kaueleau!
No ka mea, laʻana, ke kuʻina Aʻole i kēia palapala nei:
Huina (R1, R2)
ua like ia DIFF (hui (R1, R2), hoao ana (DIFF (R1, R2), (DIFF (R2, R1)))
a like me
DIFF (R1, DIFF (R1, R2))
No ke aha ka hōʻailona helu?
he mea ‘ōlelo
kau i ka manawa i ‘ae
semantically kani
expresses ka’ōlelo āna i kekahi relational ÷ ma muli o olelo wehewehe
(I.e. ka declarative relational calculus)
procedural
optimisable
Hulina (hookahi) â € “”Company
Loaʻa nā alaila inoa a me ka helu wahi o na limahana e hana no ka â € ~Researchâ € ™ Oihana.
research_dept: = wae dname = â € ™ Researcgâ € ™ ( ‘Oihana).
research_dept_emps: = wae dnumber = dno (research_dept huahana limahana);
algl1: = papahana fname, lname, aae? (research_dept_emps);
Hulina (elua) â € “”Company
No ka mea, o kela mea keia papahana aia ma ka â € ~Staffordâ € ™, helu i ka Papahana helu, na ke kaōhiʻana Oihana helu, A me ka ‘Oihana managerâ € ™ ka hope inoa, ka helu wahi, A birthdate.
Stafford-_projs: = wae plocation = â € ™ Staffordâ € ™ (pāhana);
Contr_dept: = wae dnum-dnumber (Stafford_projs huahana ‘Oihana).
proj_dept_mgr: = wae mgrssn = ssn (contr_dept huahana limahana);
alg2: = papahana pnumber, dnum, lname, helu wahi, bdate (proj_dept_mgr);
Hulina (ekolu) â € “”Company
E huli i nā inoa o nā limahana e hana ma na Kilo a pau malalo o ko ‘Oihana helu 5.
Dept5_projs (pno): = papahana pnumber (koho i dnum = 5 (papahana)). emp_proj (ssn, pno): = papahana essn, pno (works_on); emp_proj_ssns: = papahana ssn (emp_proj); % All nā papaha o nā limahana hana ma dept5 pāhana. Poss_emps_dept5: = (dept5_projs huahana emp_proj_ssns), /%? Aaiuo i donâ € ™ ka hana ma luna o nā mea a pau dept5 hana .. emps_not_dept5: = papahana ssn (poss_emps_dept5 koena unuhi emp_proj); result_emp_ssns: = emp proj ssns koena unuhi emps_not_dept5; alg3: = papahana lname, fname (result_emp_ssns njoin limahana);
Hulina (eha) â € “”Company
E hana i papa inoa o ka papahana helu no ka papahana e ho ohana ana he limahana kona hope inoa, ua â € ~Smithâ € ™, Ina e hoomaikai aku e like me ka hana ole e like me ka manakia o ka ‘Oihana e hoʻi i ka papahana.
Me ka poe amara (essn): = papahana ssn (koho i lname = â € ~Smithâ € ™ (limahana)).
smith_worker_projs: = papahana pno (works_on njoin nā’āmara);
mgrs: = papahana lname, dnumber (koho i ssn = mgrssn (limahana huahana Oihana)).
smith_mgrs: = selecy lname = â € ™ Smithâ € ™ (mgrs);
smith_managed_depts (dnum): = papahana dnumber (smith_mgrs);
smith_mgr_projs (pno): = papahana pmumber (smith_managed_depts njoin pāhana);
alg3: = smith_worker_projs hui smith_mgr_projs;
Hulina (elima) â € “”Company
Papainoa o na inoa o na limahana a me elua a oi aku kauwa.
% E hana elua kope o na limahana me na kauwa.
Empdep1 (essn, depname1): = papahana essn, dependent_name (e kaukaʻi);
empdep2 (essn2, depname2): = empdep1.
& Aaiuo i oi aku mamua o hookahi e kaukaʻi.
Emps_gtone_dep (ssn): = papahana essn1 (koho i (essn = essn2) a me (depname1 <> depname2) (empdep1 huahana empdep2)).
alg5: = papahana lname, fname (limahana njoin emps) gtone_dep);
Hulina (eono) – Company
Loaʻa i nā inoa o nā limahana i loaa ole kauwa.
All_emps: = papahana ssn (limahana); Emps_with_deps (ssn): = papahana essn (e kaukaʻi); Emps_without_deps: = (all_emps
Koena unuhi emps_with_deps); Alg6: = papahana lname, fname
(Emps_without_deps njoin limahana);
Hulina (ehiku) â € “”Company
Papainoa o na inoa o na man- ka poe i ma ka liʻiliʻi hana e kaukaʻi.
Mgrssn (ssn): = papahana mgrssn ( ‘Oihana). Emps_with_deps (ssn): = papahana essn (e kaukaʻi); Mgrs_with_deps: = (mgrssn intersect emps_with_deps); Alg7: = papahana lname, fname
(Mgrs_with_deps njoin limahana);

“——————————————————————————————————————————————————

תרגום תמיכה: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
Relational אלגברה
מהי אלגברה?
אלגברה (אל-je-BRE) שם עצם
מָתֵימָטִיקָה
1 הכללה האריתמטיקה שבה סימנים, בדרך כלל אותיות האלפבית, מייצגים מספרים או חברי קבוצה מסוימת של מספרים וקשורים על ידי פעולות אשר מחזיקים עבור כל המספרים הסט.
2 סט יחד עם פעולות שהוגדרו את ההערכה לציית לחוקים שצוינו.
Word 3 הוצג על ידי המתמטיקאי ערב אל-Khwarizmi (בסביבות 900 לספירה) והביא ללטינית על ידי רוברט של צ’סטר ב 1145.

[אנגלית של ימי הביניים, עצם ההגדרה ואיטלקית, אלגברה, הן מן הלטינית של ימי הביניים, מערבית אל-ג’בר, את (מדע) מתאחד:. אל, את ג’בר +, איחוד, עצם ההגדרה]
בשפות אלגברית נפוצות מחשוב: אלגברה בוליאנית עבור שערים לוגיים; אלגברה יחסית עבור DML מסד נתונים.
מרכיבים בסיסיים של אלגברה הם קבוצה (למשל האופרנד) ופעולות (מפעילים למשל) הפועלות על כל האלמנטים של הסט.
נכסים מפעילים (למשל, לשקול להגדיר שלם ואת פעולת חיבור) כוללים: התוספת היא קומוטטיבית על המספרים השלמים מאז 3 + 4 = 4 + 3 (בתוספת (3,4) == פלוס (4,3)); ותוספת הוא אמר להיות אסוציאטיבי על המספרים השלמים מאז 3 + (4 + 5) = (3 + 4) + 5 (פלוס (3, בתוספת (4,5)) == פלוס (פלוס (3,4), 5 ))).
מאפייני היחסים. אַלגֶבּרָה
זה מתפעל יחסים כולו באמצעות
סט unambigous הסמנטית של פעולות (אד
Codd 1970).

הסטים של האלגברה היחסית הם ביחס של
ארכה (tuples, שורות) לבין המפעילים יש
או מוצא או ביחס תיאורטי להגדיר אוריינטציה
טוֹבָה.

יש ביטוי אלגברי יחסי כתשומות אחד
(אונרי), או שתיים (בינארי), יחסים ולפעמים
מצב בחירה.
בעוד תפוקת הביטוי הוא ביחס יחיד.

מאפיינים נוספים:

המפעילים של האלגברה לעבוד על כל tuples של היחס;

יש את האלגברה א חישובית פרוצדורליים
דֶגֶם;

אבל זה לא “”טיורינג מלא””, אפשר לכתוב
תכנית פסקל כי מתפעלת יחסיים עבור
אשר אין מקבילה אלגברית.

יש מצב בחירה להיבדק נגד
כל tuple עצמאי;

התפוקה של פעולה אלגברית היא
קלט מקובל על אלגברית סוגרת
ביטוי זה נקרא – ביטוי
הרכב.

מפעילים: איחוד (בינארי)
מה לגבי ההקלדה של ביטוי יחסי אלגברית ביחס כתוצאה ממנה?
“”איחוד”” תאימות (UC) של שני קשרים עבור ביטוי בינארי, שתיים יחסי המשתתפים (אופרנדים – R1 ו- R2) חייבים להיות האילוצים המבניים הבאים לביטוי להיות מסוג נכון: 1) יש שני ביחסים באותה המידה ( כלומר n); & 2) עבור כל תכונה (1 <= i <= n), התחום (R1.Attr_i) = מושלם (R2.Attr_i). את סוג הנתונים של הביטוי של אם שני היחסים נמצאים u.c. אז סכימת ביחס של המתקבל היא שרירותית נבחר להיות זה של האופרנד הראשון. אחר … (האופרנד המבוקש – מפעיל מוצר למשל) סמנטיקה: הקשר שנוצר יש את כל tuple נוכח גם את הראשון, השני או שניהם האופרנדים.
הקלדה:
סוג של סכימה ביחס המתקבל הוא כי של האופרנד הראשון אם הן ביחסים האופרנד נמצאים u.c.
סִמוּן:
R1 U R2 UNION (R1, R2)
אסוציאטיבי YES קומוטטיבית YES
מפעילים: הבדל (בינארי)
סֵמַנטִיקָה:
הקשר שנוצר כולל את כל tuples של האופרנד הראשון שאינם נוכחי האופרנד השני.
הקלדה:
סוג של סכימה ביחס המתקבל הוא כי של האופרנד הראשון אם הן ביחסים האופרנד נמצאים u.c.
סִמוּן:
R1 – R2 DIFF (R1, R2)
NO NO החלופי האסוציאטיבי
מפעילים: בחירה (אונרי)
סֵמַנטִיקָה:
צור קשר חדש על ידי לחילוץ מן האופרנד כל tuples כי מתקיים לגביו תנאי הבחירה.
tuples:
הסוג של הסכימה ביחס כתוצאה שווה הסכימה של האופרנד.
תנאי בחירה מצוינים תופיע בצורה הבאה:
תכונה name op השוואה. ערך קבוע או תכונת אופ השוואה שם. שם מאפיין
שורה של תנאי בחירה יכולה להיות משולבת כמו CONDITION1 בוחר CONDITION2 בוחר או CONDITION1 לבחור או CONDITION2 בחר
חלק מפעילי השוואה אופייני תחומי הורה לכלול>, <, ==,! =, וכו
סִמוּן:
(מצב נבחר) R1 SELECT (R1, מצב בחירה)
הערה:
שהתפתח כתוצאה מכך היא קבוצת משנה של האופרנד!

אסוציאטיבי YES קומוטטיבית YES
Relational אלגברה: מפעילים: מוצר (בינארי)
סֵמַנטִיקָה:
צור קשר חדש שהרצתו מוצר קרטזית
של שני האופרנדים.
(אם cardinalities של R1 ו- R2 הם 60000 ו 500
בהתאמה, הניתנות של המוצר שלהם הוא 60000 * 500 =
3,000,000!)

הקלדה:
האופרנדים יכולים להיות כל סכימה ביחס. הסכימה ביחס כתוצאה שווה השרשור של הסכימה ביחס של האופרנד.
סִמוּן:
זהו מאוד מחשוב יקר
מבצע!
כמו כן, את הסיומת המתקבלת היא בדרך כלל לא משמעותית !!

כן קומוטטיבית
אסוציאטיבי כן

מפעילים: השלכה (אונרי)
סֵמַנטִיקָה:
צור קשר חדש על-ידי הרחקה האופרנד כל התכונות (וכתוצאה מכך ערכיהם) שאינם מנויים בביטוי ההקרנה.
הקלדה:
הסוג של סכימת כתוצאה שווה הסכימה של האופרנד אך למעט תכונות לא מוזכרות ברשימת התכונות.
סִמוּן:
(Attr … x1, …, attr_xn) PROJECT (R1, attr_x1, …, attr_xn)
הערה:
ערכים כפולים יוסרו במרומז!
הערות נוספות:
בשנת ביטוי אלגברי עם מחרוזת של פרויקטים יש לנו שני דברים קורים – ארגון מחדש מחדש הארכה !! עם מניפולציות אלגבריות מסוימות אפשר להתגבר הגבלות אלה.
קומוטטיבית (בכלל) לא אסוציאטיבי (בכלל) אין
קבוצה מינימאלית של מפעילים
ניתן להראות כי קבוצת משנה של המפעילים הציגו (דווקא בחר, פרויקט, איחוד, הבדל המוצר) מספיק, או מלא, כדי לתאר את המפעילים האחרים (למשל להצטרף, צומת וכו ‘).
השימוש הבלעדי של מפעילים מן הסט השלם להפוך את הקריאה כמה ביטויים אלגבריים טבעיים מאוד עיקש!
לדוגמה, המפעיל בצומת יש טופס זה:
בצומת (R1, R2)
שווה DIFF (UNION (R1, R2), UNION (הבדל (R1, R2), (הבדל (R2, R1)))
או שווה ערך ל
DIFF (R1, ספיגה (R1, R2))
למה אלגברה?
בשפה פשוטה
נקבע על זמן גישה
קול סמנטי
מבטא את אותו שאילתות מודל הרלציוני אחר שפה מבוססת מתארת
(למשל חצץ יחסיים הצהרתי)
נוֹהָלִי
optimisable
שאילתא (אחד) € “”חברה
אחזור אז שמו וכתובתו של כל השכירים שעובדים במחלקת ™ € â € ~Researchâ.
research_dept: = בחר dname = a € ™ Researcgâ € ™ (מחלקה);
research_dept_emps: = בחר dnumber = DNO (עובד המוצר research_dept);
algl1: = פרויקט fname, lname, כתובת (research_dept_emps);
שאילתה (שני) € “”החברה
עבור כל פרויקט ממוקם € ~Staffordâ ™ €, מפרטים את מספר הפרויקט, מספר מחלקת שליטה, ומחלקת managerâ s € ™ שם משפחה, כתובת, ותאריך הלידה.
סטאפורד-_projs: = בחר plocation = a € ™ Staffordâ ™ € (פרויקטים);
Contr_dept: = dnum-dnumber בחר (מחלקת מוצר Stafford_projs);
proj_dept_mgr: = בחר mgrssn = SSN (עובד המוצר contr_dept);
alg2: = פרויקט pnumber, dnum, lname, כתובת, bdate (proj_dept_mgr);
שאילתא (שלוש) € “”חברה
מצא את שמות העובדים שעובדים על כל הפרויקטים בשליטת המחלקה מספר 5.
Dept5_projs (פסנתר): = פרויקט pnumber (בחר dnum = 5 (פרויקטים)); emp_proj (SSN, פסנתר): = פרויקט essn, פסנתר (works_on); emp_proj_ssns: = פרויקט SSN (emp_proj); % כל האפשרויות של עובדים לעבוד על פרויקטים dept5. Poss_emps_dept5: = (dept5_projs emp_proj_ssns מוצר); / עובדי% שדונה העבודה של € ™ על כל הפרויקטים dept5 .. emps_not_dept5: = פרויקט SSN (emp_proj ההבדל poss_emps_dept5); result_emp_ssns: = SSNs ההבדל proj EMP emps_not_dept5; alg3: = פרויקט lname, fname (result_emp_ssns njoin עובד);
שאילתא (ארבעה) € “”חברה
ערכו רשימה של מספרי פרויקט פרויקטים בהם מעורבים עובד ששם משפחתה הוא ™ € € ~Smithâ, או כעובד או כמנהל המחלקה השולטת הפרויקט.
Smiths (essn): = פרויקט SSN (בחר lname = a € ~Smithâ ™ € (העובד));
smith_worker_projs: = פרויקט פסנתר (works_on njoin נפחים);
MGRS: = פרויקט lname, dnumber (בחר SSN = mgrssn (מחלקת מוצר עובד));
smith_mgrs: = selecy lname = a € ™ Smithâ ™ € (MGRS);
smith_managed_depts (dnum): = פרויקט dnumber (smith_mgrs);
smith_mgr_projs (פסנתר): = פרויקט pmumber (smith_managed_depts njoin פרויקטים);
alg3: smith_mgr_projs האיגוד smith_worker_projs =;
שאילתא (חמש) € “”חברה
יש לרשום את שמות כל העובדים עם שניים או יותר בני משפחה המתלווים.
% בצעו שני עותקים של עובדים עם תלויים.
Empdep1 (essn, depname1): = פרויקט essn, dependent_name (תלוי);
empdep2 (essn2, depname2): = empdep1;
& עובד עם יותר תלותי.
Emps_gtone_dep (SSN): = פרויקט essn1 (בחר (essn = essn2) ו- (depname1 <> depname2) (empdep2 המוצר empdep1));
alg5: = פרויקט lname, fname (עובד njoin emps) gtone_dep);
שאילתא (שש) – חברה
אחזר את שמות העובדים שאין להם בני משפחה המתלווים.
All_emps: = פרויקט SSN (עובד); Emps_with_deps (SSN): = פרויקט essn (תלוי); Emps_without_deps: = (all_emps
ההבדל emps_with_deps); Alg6: = פרויקט lname, fname
(Emps_without_deps njoin עובד);
שאילתא (שבע) € “”חברה
יש לרשום את שמות המנהלים שיש להם לפחות אחת תלויה.
Mgrssn (SSN): = פרויקט mgrssn (מחלקה); Emps_with_deps (SSN): = פרויקט essn (תלוי); Mgrs_with_deps: = (mgrssn מצטלבים emps_with_deps); Alg7: = פרויקט lname, fname
(Mgrs_with_deps njoin עובד);

“——————————————————————————————————————————————————

समर्थन अनुवाद: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
संबंधपरक बीजगणित
एक बीजगणित क्या है?
बीजगणित (अल-जेई BRE) संज्ञा
अंक शास्त्र
1 अंकगणित के सामान्यीकरण जिसमें प्रतीकों, आमतौर पर वर्णमाला के अक्षर, संख्या या संख्या का एक विशिष्ट सेट के सदस्यों का प्रतिनिधित्व करते हैं और है कि आपरेशन सेट में सभी नंबरों के लिए पकड़ से संबंधित हैं।
2 एक सेट है कि निर्दिष्ट नियमों का पालन करने में परिभाषित आपरेशनों के साथ एक साथ की स्थापना की।
3 वर्ड अरब गणितज्ञ अल Khwarizmi (लगभग 900 ई) द्वारा शुरू की और 1145 में चेस्टर के रॉबर्ट द्वारा लैटिन में लाया।

[मध्य अंग्रेजी, हड्डी की स्थापना और इतालवी, बीजगणित, दोनों मध्यकालीन लैटिन, से से अरबी अल-जब्र, (का विज्ञान) पुनर्मिलन:। अल, + जब्र, एकीकरण, हड्डी की स्थापना]
बीजीय भाषाओं कंप्यूटिंग में आम हैं: तर्क फाटकों के लिए बूलियन बीजगणित; और डेटाबेस DML के लिए संबंधपरक बीजगणित।
एक बीजगणित के मूल तत्व एक सेट (अर्थात् संकार्य) और संचालन (अर्थात् ऑपरेटरों) है कि सेट के सभी तत्वों पर कार्रवाई कर रहे हैं।
ऑपरेटर गुण (उदाहरण के लिए, एक पूर्णांक की स्थापना की और इसके अलावा ऑपरेशन पर विचार) शामिल हैं: इसके अलावा पूर्णांकों के ऊपर विनिमेय है के बाद से 3 + 4 = 4 + 3 (प्लस (3,4) == प्लस (4,3)); और इसके अलावा जब से पूर्णांकों खत्म साहचर्य होना कहा जाता है 3 + (4 + 5) = (3 + 4) + 5 (प्लस (3, प्लस (4,5)) == प्लस (प्लस (3,4), 5 )))।
रिलायंस के लक्षण। बीजगणित
यह एक के माध्यम से पूरे संबंधों manipulates
आपरेशन के शब्दार्थ unambigous सेट (एड
Codd 1970)।

संबंधपरक बीजगणित के सेट संबंध के हैं
विस्तार (tuples, पंक्तियों) और ऑपरेटरों है
या तो एक सेट रिप्ले मूल या संबंध उन्मुख
एहसान।

एक रिलेशनल बीजीय अभिव्यक्ति आदानों एक के रूप में है
(एकल), या दो (बाइनरी), संबंधों और कभी कभी एक
चयन हालत।
जबकि एक अभिव्यक्ति का उत्पादन एक भी रिश्ता नहीं है।

अन्य विशेषताएँ:

बीजगणित के ऑपरेटरों के संबंध के tuples के सभी पर काम करते हैं;

बीजगणित एक प्रक्रियात्मक कम्प्यूटेशनल है
आदर्श;

लेकिन यह “”ट्यूरिंग पूरा”” नहीं है, एक एक के बारे में कुछ
पास्कल कार्यक्रम के लिए है कि संबंधों manipulates
जो वहाँ कोई बीजीय बराबर है।

एक चयन हालत खिलाफ मूल्यांकन किया जाना है
प्रत्येक स्वतंत्र रूप से टपल;

एक एक बीजीय ऑपरेशन के उत्पादन में है
एक फलस्वरूप बीजीय को स्वीकार्य इनपुट
अभिव्यक्ति – यह कहा जाता है अभिव्यक्ति
रचना।

ऑपरेटर्स: संघ (बाइनरी)
क्या एक संबंधपरक बीजीय अभिव्यक्ति की टाइपिंग और इसके एवज में संबंध के बारे में?
– “”संघ”” संगतता दो संबंधों के (यूसी) एक द्विआधारी अभिव्यक्ति के लिए, दो भाग लेने के संबंध (ऑपरेंड R1 और R2) के लिए अभिव्यक्ति प्रकार सही होना निम्नलिखित संरचनात्मक बाधाओं होना चाहिए: 1) दोनों के संबंधों में एक ही डिग्री है ( यानी एन); और 2) प्रत्येक विशेषता के लिए (1 <= मैं <= n), डोमेन (R1.Attr_i) = डोमेन (R2.Attr_i)। एक अभिव्यक्ति है के डेटा प्रकार यदि दो संबंधों यू.सी. में हैं तो परिणामी के संबंध स्कीमा मनमाने ढंग से चुना पहली संकार्य की है कि हो रहा है। और … (संकार्य विशिष्ट – जैसे उत्पाद ऑपरेटर) शब्दार्थ: परिणामी संबंध सभी टपल में या तो पहले, दूसरे या दोनों ऑपरेंड उपस्थित है।
टाइपिंग:
परिणामी संबंध स्कीमा के प्रकार है कि पहली संकार्य की अगर दोनों संकार्य संबंधों यू.सी. में हैं
अंकन:
R1 यू आर 2 संघ (आर 1, आर 2)
विनिमेय हाँ हाँ साहचर्य
ऑपरेटर्स: अंतर (बाइनरी)
शब्दार्थ:
उसके एवज में संबंध है कि दूसरे संकार्य में मौजूद नहीं हैं पहले संकार्य के सभी tuples भी शामिल है।
टाइपिंग:
परिणामी संबंध स्कीमा के प्रकार है कि पहली संकार्य की अगर दोनों संकार्य संबंधों यू.सी. में हैं
अंकन:
R1 – R2 अन्तर (आर 1, आर 2)
विनिमेय सं साहचर्य सं
ऑपरेटर्स: चयन (एकल)
शब्दार्थ:
संकार्य से सभी tuples कि चयन शर्तों को पूरा निकालने के द्वारा एक नया संबंध बनाएँ।
tuples:
परिणामी संबंध स्कीमा के प्रकार के संकार्य के स्कीमा के बराबर है।
एक चयन हालत निम्नलिखित फार्म है:
नाम तुलना सेशन गुण। लगातार मूल्य या विशेषता नाम तुलना सेशन। उत्तरदायी ठहराने के लिए नाम
चयन की स्थिति की एक श्रृंखला का चयन CONDITION1 और चयन CONDITION2 या चयन CONDITION1 या चयन CONDITION2 में के रूप में जोड़ा जा सकता है
आदेश दिया डोमेन के लिए कुछ विशिष्ट तुलना ऑपरेटरों शामिल>, <, ==! =, आदि
अंकन:
(चुनिंदा हालत) R1 का चयन करें (आर 1, चयन हालत)
ध्यान दें:
परिणामी संकार्य का एक सबसेट है!

विनिमेय हाँ हाँ साहचर्य
संबंधपरक बीजगणित: ऑपरेटर्स: उत्पाद (बाइनरी)
शब्दार्थ:
एक कार्तीय उत्पाद को क्रियान्वित करने से एक नया संबंध बनाएं
दो ऑपरेंड की।
(R1 और R2 के cardinalities 60000 और 500 से कर रहे हैं
क्रमश: उनके उत्पाद की प्रमुखता 60000 * 500 = है
3,000,000!)

टाइपिंग:
ऑपरेंड कोई रिश्ता स्कीमा हो सकता है। परिणामी संबंध स्कीमा संकार्य के संबंध स्कीमा की कड़ी के बराबर है।
अंकन:
यह एक अत्यंत computationally महंगा है
ऑपरेशन!
इसके अलावा, उसके एवज में विस्तार आमतौर पर सार्थक नहीं है !!

विनिमेय हाँ
साहचर्य हाँ

ऑपरेटर्स: प्रोजेक्शन (एकल)
शब्दार्थ:
संकार्य से हटाने के द्वारा एक नए संबंध बनाने के लिए सभी गुण (और फलस्वरूप उनके मान) कि प्रक्षेपण अभिव्यक्ति में उल्लेख नहीं कर रहे हैं।
टाइपिंग:
परिणामी स्कीमा के प्रकार के संकार्य के स्कीमा लेकिन विशेषता सूची में उल्लेख नहीं विशेषताओं को छोड़कर के बराबर है।
अंकन:
(Attr … X1, …, attr_xn) परियोजना (आर 1, attr_x1, …, attr_xn)
ध्यान दें:
डुप्लिकेट मानों उलझाव से हटा रहे हैं!
इसके अलावा नोट्स:
परियोजनाओं की एक तार के साथ एक बीजीय अभिव्यक्ति में हम दो बातों पर जा रहा है – पुनर्गठन और फिर से विस्तार देने !! कुछ बीजीय जोड़तोड़ के साथ एक इन प्रतिबंधों को दूर कर सकते हैं।
(सामान्य) में कोई साहचर्य (सामान्य) में कोई विनिमेय
ऑपरेटरों की न्यूनतम सेट
यह दिखाया जा सकता है कि प्रस्तुत ऑपरेटरों (विशेष चयन करें, परियोजना, संघ, अंतर और उत्पाद) के एक सबसेट, पर्याप्त, या पूरा कर रहे हैं अन्य ऑपरेटरों (चौराहे आदि उदाहरण के लिए शामिल हो,) का वर्णन है।
पूरा सेट से ऑपरेटरों के अनन्य उपयोग के कुछ प्राकृतिक बीजीय भाव अत्यंत जिद्दी पढ़ कर!
उदाहरण के लिए, चौराहे ऑपरेटर इस फार्म है:
चौराहे (आर 1, आर 2)
अन्तर (संघ (आर 1, आर 2), संघ (अन्तर (आर 1, आर 2), (अन्तर (आर 2, आर 1))) के बराबर है
या के बराबर
अन्तर (आर 1, रचनाकार (आर 1, आर 2))
क्यों एक बीजगणित?
एक सरल भाषा
एक समय का उपयोग पर सेट
शब्दार्थ ध्वनि
एक ही प्रश्न है कि एक और रिलेशनल मॉडल आधारित भाषा का वर्णन व्यक्त
(अर्थात् कथात्मक रिलेशनल पथरी)
प्रक्रियात्मक
optimisable
क्वेरी (एक) एक € “”कंपनी
फिर नाम और सभी कर्मचारियों को जो एक € ~Researchâ € ™ विभाग के लिए काम का पता निकालते हैं।
research_dept: = dname चुनिंदा = € ™ Researcgâ € ™ (विभाग) एक;
research_dept_emps: = चुनिंदा dnumber = DNO (research_dept उत्पाद कर्मचारी);
algl1: = परियोजना fname, lname, पता (research_dept_emps);
क्वेरी (दो) एक € “”कंपनी
हर एक € ~Staffordâ € ™ में स्थित परियोजना के लिए, परियोजना संख्या को नियंत्रित करने, विभाग संख्या, और विभाग managerâ € ™ के आखिरी नाम, पता, और जन्मतिथि की सूची।
स्टेफोर्ड-_projs: = plocation चुनिंदा = एक € ™ Staffordâ € ™ (परियोजना);
Contr_dept: = चुनिंदा dnum-dnumber (Stafford_projs उत्पाद विभाग);
proj_dept_mgr: = चुनिंदा mgrssn = एसएसएन (contr_dept उत्पाद कर्मचारी);
alg2: = परियोजना pnumber, dnum, lname, पता, bdate (proj_dept_mgr);
क्वेरी (तीन) एक € “”कंपनी
कर्मचारियों को जो सभी परियोजनाओं विभाग नंबर 5 के द्वारा नियंत्रित पर काम के नामों का पता लगाएं।
Dept5_projs (PNO): = परियोजना pnumber (= 5 (परियोजनाओं dnum चुनें)); emp_proj (एसएसएन, PNO): = परियोजना essn, PNO (works_on); emp_proj_ssns: = परियोजना एसएसएन (emp_proj); % Dept5 परियोजनाओं पर काम कर रहे कर्मचारियों की सभी संभावनाओं। ;: Poss_emps_dept5 /% कर्मचारियों कि सभी dept5 परियोजनाओं .. emps_not_dept5 पर स्री € ™ के काम = (उत्पाद emp_proj_ssns dept5_projs): = परियोजना एसएसएन (poss_emps_dept5 अंतर emp_proj); result_emp_ssns: = ईएमपी proj SSNs अंतर emps_not_dept5; alg3: = परियोजना lname, fname (result_emp_ssns कर्मचारी Njoin);
क्वेरी (चार) एक € “”कंपनी
परियोजनाओं है कि एक कर्मचारी जिनकी अंतिम नाम â € ~Smithâ € ™ है शामिल है, या तो एक कार्यकर्ता के रूप में या विभाग के एक प्रबंधक है कि इस परियोजना को नियंत्रित करता है के रूप में के लिए परियोजना नंबर की एक सूची बनाओ।
स्मिथ (essn): = परियोजना एसएसएन (lname चयन = â € ~Smithâ € ™ (कर्मचारी));
smith_worker_projs: = परियोजना PNO (works_on Njoin कारीगरों);
MGRS: = परियोजना lname, dnumber (एसएसएन का चयन = mgrssn (कर्मचारी उत्पाद विभाग));
smith_mgrs: = selecy lname = एक € ™ स्मिता € ™ (MGRS);
smith_managed_depts (dnum): = परियोजना dnumber (smith_mgrs);
smith_mgr_projs (PNO): = परियोजना pmumber (परियोजनाओं Njoin smith_managed_depts);
alg3: = smith_worker_projs संघ smith_mgr_projs;
क्वेरी (पांच) एक € “”कंपनी
सभी कर्मचारियों के नाम दो या अधिक आश्रितों के साथ सूची।
% आश्रितों के साथ कर्मचारियों की दो प्रतियां करें।
Empdep1 (essn, depname1): = परियोजना essn, dependent_name (निर्भर);
empdep2 (essn2, depname2): = empdep1;
और एक से अधिक आश्रित के साथ कर्मचारियों को।
Emps_gtone_dep (एसएसएन): = परियोजना essn1 (चयन (essn = essn2) और (depname1 <> depname2) (empdep1 उत्पाद empdep2));
alg5: = परियोजना lname, fname (emps Njoin कर्मचारी) gtone_dep);
क्वेरी (छह) – कंपनी
कर्मचारियों को जो नहीं आश्रितों के नाम निकालते हैं।
All_emps: = परियोजना एसएसएन (कर्मचारी); Emps_with_deps (एसएसएन): = परियोजना essn (निर्भर); Emps_without_deps: = (all_emps
अंतर emps_with_deps); Alg6: = परियोजना lname, fname
(Emps_without_deps कर्मचारी Njoin);
क्वेरी (सात) एक € “”कंपनी
प्रबंधकों जो कम से कम एक आश्रित के नाम की सूची दें।
Mgrssn (एसएसएन): = परियोजना mgrssn (विभाग); Emps_with_deps (एसएसएन): = परियोजना essn (निर्भर); Mgrs_with_deps: = (mgrssn emps_with_deps एक दूसरे को काटना); Alg7: = परियोजना lname, fname
(Mgrs_with_deps कर्मचारी Njoin);

“——————————————————————————————————————————————————

Kev them nyiaj yug translation: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
paub Algebra
Yuav ua li cas yog ib qho Algebra?
algebra (al-je-bre) noun
Kev kawm txog zauv
1 Ib generalization ntawm xam nyob rau hauv uas cov cim, feem ntau yog cov tsiaj ntawv ntawm cov tsiaj ntawv, sawv cev tus xov tooj los yog tswv cuab ntawm ib qho ntawm cov zauv thiab yog hais txog los ntawm kev ua hauj lwm uas tuav rau tag nrho cov xov tooj nyob rau hauv lub teeb.
2 Ib tug teem ua ke nrog ua hauj lwm txhais nyob rau hauv lub teeb uas mloog txog qee txoj cai.
3 lo lus qhia los ntawm As mathematician al-Khwarizmi (circa 900 AD) thiab coj mus rau hauv Latin los ntawm Robert ntawm Chester nyob rau hauv 1145.

[Middle English, cov pob txha-chaw thiab Italian, algebra, ob qho tib si los ntawm Medieval Latin, los ntawm Arabic al-jabr, lub (science ntawm) rov qab sib koom: al, lub + jabr, reunification, pob txha-chaw.]
Algebraic lus yog ntau nyob rau hauv xam: Boolean algebra rau logic rooj vag; thiab paub algebra rau database DML.
Basic cov khoom xyaw ntawm ib tug algebra yog ib tug txheej (i.e. operand) thiab ua hauj lwm (i.e. tswv) uas ua rau tag nrho cov ntsiab ntawm lub teeb.
Neeg teb xov tooj zog (piv txwv li, xav txog ib tug integer teeb thiab ntxiv lag luam) muaj xws li: ntxiv yog commutative tshaj lub zauv txij li thaum 3 + 4 = 4 + 3 (ntxiv (3,4) == ntxiv (4,3)); thiab ntxiv yog hais tias yuav tsum associative tshaj lub zauv txij li thaum 3 + (4 + 5) = (3 + 4) + 5 (ntxiv (3, ntxiv rau (4,5)) == ntxiv (ntxiv (3,4), 5 ))).
Cov yam ntxwv ntawm cov Rel. Algebra
Nws manipulates tag nrho kev sib raug zoo los ntawm ib tug
semantically unambigous set of operations (Ed
Codd 1970).

Cov paub algebra lub poob lawm yog cov kev sib raug zoo txoj kev
extension (tuples, kab) thiab cov tswv muaj
yog ib tug teev theoretic keeb kwm los yog kev sib raug zoo taw qhia kom paub
nyiam.

Ib tug paub algebraic qhia muaj raws li inputs ib
(Unary), los yog ob tug (binary), kev sib raug zoo thiab tej zaum ib tug
xaiv tus mob.
Thaum ib qho kev qhia tus tso zis yog ib tug hluas kev sib raug zoo.

Lwm yam ntxwv:

lub algebra tus tswv ua hauj lwm rau tag nrho cov kev sib raug zoo txoj kev tuples;

lub algebra muaj ib tug txheej txheem computational
qauv;

Tab sis nws tsis yog “”Turing tiav””, ib tug yuav sau ib
Pascal kev pab cuam uas manipulates kev sib raug zoo rau
uas yog tsis muaj algebraic sib npaug.

ib tug xaiv mob yuav tsum tau soj ntsuam tiv thaiv
txhua tuple ntawm nws tus kheej;

tso zis rau ntawm ib tug algebraic lag luam yog ib tug
tau cov tswv yim mus rau ib tug consequent algebraic
qhia – qhov no yog hu ua kev qhia
muaj pes tsawg leeg.

Tswv: Union (binary)
Yuav ua li cas txog cov typing ntawm ib tug paub algebraic qhia thiab nws cov resultant kev sib raug zoo?
“”UNION”” compatibility (UC) ntawm OB KEV SIB RAUG ZOO Rau ib binary qhia, lub ob koom kev sib raug zoo (operands – R1 thiab R2) yuav tsum muaj cov nram qab yam ntxwv xyuas rau cov kev qhia yuav tsum tau hom yog: 1) ob kev sib raug zoo muaj cov tib neeg kawm ( ie n); & 2) rau txhua tus cwj pwm (1 <= kuv <= n), cov sau (R1.Attr_i) = sau (R2.Attr_i). LUB NTAUB NTAWV HOM NTAWM IB Qhia cov YOG ob tug kev sib raug zoo muaj nyob rau hauv u.c. CES tus piv schema ntawm lub resultant yog arbitrary xaiv los yog hais tias ntawm cov thawj operand. Lwm tus … (operand kev – e.g. khoom neeg teb xov tooj) semantics: Lub resultant kev sib raug zoo muaj tag nrho cov tuple tam sim no nyob rau hauv ob lub thawj, qhov thib ob los yog ob qho tib si operands.
typing:
Lub hom ntawm cov resultant kev sib raug zoo schema yog tias ntawm lub thawj operand yog ob operand kev sib raug zoo muaj nyob rau hauv u.c.
cim:
R1 U R2 UNION (R1, R2)
commutative YOG associative YOG
Tswv: sib txawv (binary)
semantics:
Cov resultant kev sib raug zoo muaj xws li tag nrho cov tuples ntawm cov thawj operand uas tsis tam sim no nyob rau hauv lub thib ob operand.
typing:
Lub hom ntawm cov resultant kev sib raug zoo schema yog tias ntawm lub thawj operand yog ob operand kev sib raug zoo muaj nyob rau hauv u.c.
cim:
R1 – R2 diff (R1, R2)
commutative TSIS associative TSIS
Tswv: Xaiv (unary)
semantics:
Tsim ib tug tshiab kev sib raug zoo los ntawm extracting los ntawm lub operand tag nrho tuples uas siav xaiv tej yam kev mob.
tuples:
Lub hom ntawm cov resultant kev sib raug zoo schema yog sib npaug rau operand lub schema.
Xaiv mob muaj cov nram qab no daim ntawv:
Tus cwj pwm npe Piv op. Qhov nqi los yog tus cwj pwm npe Piv op. tus cwj pwm npe
Ib tug series ntawm Xaiv tej yam kev mob yuav tsum tau ua ke raws li nyob rau hauv xaiv condition1 THIAB xaiv condition2 los yog xaiv condition1 LOS YOG xaiv condition2
Ib txhia raug sib piv tswv rau kom tus puav xws li>, <, ==,! =, Thiab lwm yam
cim:
(Xaiv kev mob) R1 SELECT (R1, xaiv yam kev mob)
Nco ntsoov:
Cov resultant yog ib tug subset ntawm lub operand!

commutative YOG associative YOG
Paub Algebra: Tswv: Khoom (binary)
semantics:
Tsim ib tug tshiab kev sib raug zoo los ntawm executing ib Cartesian khoom
ntawm ob operands.
(Yog hais tias lub cardinalities ntawm R1 thiab R2 yog 60000 thiab 500
feem, lawv cov khoom lub cardinality yog 60000 * 500 =
3,000,000!)

typing:
Lub operands yuav muaj kev sib raug zoo schema. Cov resultant kev sib raug zoo schema yog sib npaug rau concatenation ntawm lub operand lub kev sib raug zoo schema.
cim:
Qhov no yog ib tug tsis tshua computationally kim
lag luam!
Tsis tas li ntawd, lub resultant extension yog tsis feem ntau muaj txiaj ntsim !!

commutative Yes
associative Yes

Tswv: Projection (unary)
semantics:
Tsim ib tug tshiab kev sib raug zoo los ntawm tshem los ntawm lub operand tag nrho cov cwj pwm (thiab thiaj li lawv qhov tseem ceeb) uas tsis hais nyob rau hauv lub projection qhia.
typing:
Lub hom ntawm cov resultant schema yog sib npaug rau operand lub schema tab sis tsis suav cov cwj pwm tsis hais nyob rau hauv lub attribute daim ntawv teev.
cim:
(Attr … x1, …, attr_xn) PROJECT (R1, attr_x1, …, attr_xn)
Nco ntsoov:
Theej tawm qhov tseem ceeb yog implicitly tshem tawm!
Ntxiv Lus cim:
Nyob rau hauv ib tug algebraic qhia nrog ib tug hlua ntawm tej yaam num peb muaj ob yam yuav mus nyob rau – restructuring thiab re-extending !! Uas muaj tej yam algebraic manipulations ib tug yuav kov yeej tej kev cai txwv.
commutative (nyob rau hauv general) Tsis associative (nyob rau hauv general) Tsis
Tsawg heev set ntawm cov tswv
Nws yuav qhia hais tias ib subset ntawm tus hais cov tswv (yeej lub qho, project, union, qhov txawv thiab khoom) yog txaus, los yog ua kom tiav, mus piav qhia txog lwm cov tswv (piv txwv li koom, kev tshuam thiab lwm yam).
Lub kom siv cov tswv ntawm lub teb set ua nyeem ib co tej yam ntuj tso algebraic expressions tsis tshua muaj neeg unyielding!
Piv txwv li, cov kev tshuam neeg teb xov tooj muaj daim ntawv no:
Tshuam (R1, R2)
yog sib npaug rau diff (UNION (R1, R2), UNION (diff (R1, R2), (diff (R2, R1)))
los yog sib npaug rau
Diff (R1, diff (R1, R2))
Yog vim li cas ib tug algebra?
ib tug yooj yim cov lus
teem rau ntawm ib lub sij hawm nkag
semantically suab
qhia tib queries tias lwm paub qauv raws li cov lus piav qhia txog
(I.e. lub declarative paub calculus)
txheej txheem
optimisable
Lus nug (ib) â € “”Company
Retrieve ces lub npe thiab chaw nyob ntawm tag nrho cov neeg ua hauj lwm uas ua hauj lwm rau lub â € ~Researchâ € ™ department.
research_dept: = xaiv dname = â € ™ Researcgâ € ™ (department);
research_dept_emps: = xaiv dnumber = dno (research_dept khoom neeg ua hauj lwm);
algl1: = project fname, lname, chaw nyob (research_dept_emps);
Lus nug (ob tug) â € “”Company
Rau txhua project nyob rau hauv â € ~Staffordâ € ™, sau cov Project tooj, cov tswj department tooj, Thiab lub department managerâ € ™ s lub xeem lub npe, chaw nyob, Thiab hnub yug.
Stafford-_projs: = xaiv plocation = â € ™ Staffordâ € ™ (tej yaam num);
Contr_dept: = xaiv dnum-dnumber (Stafford_projs khoom department);
proj_dept_mgr: = xaiv mgrssn = SSN (contr_dept khoom neeg ua hauj lwm);
alg2: = project pnumber, dnum, lname, chaw nyob, bdate (proj_dept_mgr);
Lus nug (peb) â € “”Company
Nrhiav tau cov npe ntawm neeg ua hauj lwm uas ua hauj lwm rau tag nrho cov tej yaam num tswj los ntawm department tooj 5.
Dept5_projs (pno): = project pnumber (xaiv dnum = 5 (tej yaam num)); emp_proj (SSN, pno): = project essn, pno (works_on); emp_proj_ssns: = project SSN (emp_proj); % Tag nrho possibilities ntawm neeg ua hauj lwm ua hauj lwm rau dept5 tej yaam num. Poss_emps_dept5: = (dept5_projs khoom emp_proj_ssns); /% ua hauj lwm uas Dona € ™ s ua hauj lwm rau tag nrho cov dept5 tej yaam num .. emps_not_dept5: = project SSN (poss_emps_dept5 txawv emp_proj); result_emp_ssns: = Emp proj SSN txawv emps_not_dept5; alg3: = project lname, fname (result_emp_ssns njoin neeg ua hauj lwm);
Lus nug (plaub) â € “”Company
Ua ib daim ntawv teev ntawm peb tes num cov naj npawb rau tej yaam num uas Cia neeg ua hauj lwm uas nws lub xeem lub npe yog â € ~Smithâ € ™, Tog twg los raws li ib tug neeg ua hauj lwm los yog raws li ib tug saib xyuas ntawm lub Department hais tias lwm yam uas peb tes num.
Smiths (essn): = project SSN (xaiv lname = â € ~Smithâ € ™ (neeg ua hauj lwm));
smith_worker_projs: = project pno (works_on njoin smiths);
mgrs: = project lname, dnumber (xaiv SSN = mgrssn (neeg ua hauj lwm cov khoom department));
smith_mgrs: = selecy lname = â € ™ Smithâ € ™ (mgrs);
smith_managed_depts (dnum): = project dnumber (smith_mgrs);
smith_mgr_projs (pno): = project pmumber (smith_managed_depts njoin tej yaam num);
alg3: = smith_worker_projs union smith_mgr_projs;
Lus nug (tsib) â € “”Company
Sau cov npe ntawm tag nrho cov neeg ua hauj lwm nrog ob tug los yog ntau tshaj cov me nyuam.
% Ua ob cov ntawv luam ntawm cov neeg ua haujlwm nrog cov me nyuam.
Empdep1 (essn, depname1): = project essn, dependent_name (dependent);
empdep2 (essn2, depname2): = empdep1;
& Neeg ua hauj lwm nrog ntau tshaj ib tug nyob.
Emps_gtone_dep (SSN): = project essn1 (xaiv (essn = essn2) thiab (depname1 <> depname2) (empdep1 khoom empdep2));
alg5: = project lname, fname (neeg ua hauj lwm njoin emps) gtone_dep);
Lus nug (rau) – Niaj
Retrieve lub npe ntawm neeg ua hauj lwm uas tsis muaj kev cov me nyuam.
All_emps: = project SSN (neeg ua hauj lwm); Emps_with_deps (SSN): = project essn (dependent); Emps_without_deps: = (all_emps
Qhov sib txawv emps_with_deps); Alg6: = project lname, fname
(Emps_without_deps njoin neeg ua hauj lwm);
Lus nug (xya) â € “”Company
Sau cov npe ntawm cov tswj uas muaj tsawg kawg yog ib tug nyob.
Mgrssn (SSN): = project mgrssn (department); Emps_with_deps (SSN): = project essn (dependent); Mgrs_with_deps: = (mgrssn tshuam emps_with_deps); Alg7: = project lname, fname
(Mgrs_with_deps njoin neeg ua hauj lwm);

“——————————————————————————————————————————————————

Support fordítás: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
A relációs algebra
Mi az algebra?
algebra (al-je-bre) főnév
Matematika
1 általánosítása aritmetika szimbólumokat, általában az ábécé betűit, a számoknak, illetve tagjai a konkrét számok és kapcsolódó tevékenységek által, hogy tartsa az összes számot a készlet.
2 A beállított együtt meghatározott műveletek sorozata engedelmeskednek meghatározott törvényeket.
3. Szó által bevezetett arab matematikus al-Khwarizmi (körülbelül 900 AD) és hozta át latinra Róbert Chester 1145.

[Közép angol, csont-beállítás és az olasz, algebra, mind a középkori latin, arab al-Jabr, a (tudomány) egyesítése: al, a + Jabr, újraegyesítés, csont-beállítás.]
Algebrai nyelv gyakori computing: Boole algebra logikai kapuk; és relációs algebra adatbázis DML.
Alapvető összetevői egy algebra egy készletével (azaz operandus) és műveletek (azaz szolgáltatók), hogy járjon el az összes halmaz elemeit.
Operator tulajdonságok (például egy olyan egész szám állítva, és az összeadást) közé tartoznak: Kiegészítés kommutatív az egész, mert 3 + 4 = 4 + 3 (plusz (3,4) == plus (4,3)); és kiegészítés azt mondják, hogy az asszociatív az egész, mert 3 + (4 + 5) = (3 + 4) + 5 (plusz (3, plusz (4,5)) == plusz (plusz (3,4), 5 ))).
Jellemzői a Rel. Algebra
Ez manipulálja teljes kapcsolatok révén
szemantikailag: egyértelmű műveletek sorozata (Ed
Codd 1970).

A relációs algebra szettjei a kapcsolat a
kiterjesztés (párok, sorok) és a szereplők
vagy egy meghatározott elméleti származási vagy kapcsolatorientált
kedveznek.

A relációs algebrai kifejezés van a bemenetek egy
(Egyváltozós), vagy két (bináris), kapcsolatok és néha egy
kiválasztás állapotban.
Míg egy kifejezés kimenete egy kapcsolatban.

Egyéb jellemzők:

Az algebra a szereplők működik minden összefüggés a sorok;

Az algebra eljárási számítási
modell;

De ez nem “”Turing teljes””, lehet levelet
Pascal programot, amely manipulálja a kapcsolatok
amelyben nincs algebrai egyenértékű.

kiválasztási feltételnek kell értékelni
Minden tuple függetlenül;

a kimenet egy algebrai művelet egy
elfogadható bemenet, következetes algebrai
kifejezés – ezt nevezik kifejezés
összetétel.

Operátorok: Union (bináris)
Mi a helyzet a gépelés egy relációs algebrai kifejezés és annak ebből eredő kapcsolatban?
“”Unió”” kompatibilitás (UC) a két reláció Egy bináris kifejezés, a két résztvevő közötti kapcsolatok (operandusok – R1 és R2) kell rendelkeznie az alábbi strukturális korlátok kifejezésére, hogy típus helyes: 1) mindkét relációban azonos mértékben ( azaz N); És 2) az egyes jellemzőkre (1 <= i <= n), a domain (R1.Attr_i) = domain (R2.Attr_i). Az adattípus egy kifejezés IF a két kapcsolat az u.c. Akkor a kapcsolat séma a kapott önkényes választott is az, hogy az első operandus. ELSE … (operandus adott – például a termék üzemeltető) Szemantika: A kapott képest az összes tuple jelen sem az első, a második, vagy mindkét operandusa.
Gépelés:
A típus a kapott képest séma, hogy az első operandust, ha mindkét operandus kapcsolatok vannak u.c.
Jelölés:
R1 U R2 UNION (R1, R2)
kommutatív IGEN IGEN asszociatív
Operátorok: Különbség (bináris)
Szemantika:
A kapott kapcsolatban magában foglalja az összes tuple az első operandus, amelyek nincsenek jelen a második operandus.
Gépelés:
A típus a kapott képest séma, hogy az első operandust, ha mindkét operandus kapcsolatok vannak u.c.
Jelölés:
R1 – R2 diff (R1, R2)
kommutatív NO asszociatív NO
Operátorok: Selection (egyváltozós)
Szemantika:
Hozzon létre egy új kapcsolat által kivonjuk az operandus minden esek felel meg a kiválasztási feltételeknek.
sorok:
A típus A kapott kapcsolat séma megegyezik az operandus sémát.
A kiválasztás feltétele a következő formában:
Attribútum nevét Összehasonlítás op. Konstans érték vagy attribútum neve Összehasonlítás op. Jellemző neve
Egy sor kiválasztása feltételek lehetne kombinálni select feltétel1 és válassza ki CONDITION2 vagy válasszuk feltétel1 VAGY válassza CONDITION2
Néhány tipikus összehasonlító operátorok megrendelt domének közé>, <, ==,! =, Stb
Jelölés:
(Válassza állapot) R1 SELECT (R1, kiválasztás feltétel)
Jegyzet:
A kapott egy részhalmaza az operandus!

kommutatív IGEN IGEN asszociatív
A relációs algebra: Operátorok: Termék (bináris)
Szemantika:
Hozzon létre egy új kapcsolat végrehajtásával Descartes-szorzat
A két operandus.
(Ha a számosságának R1 és R2 jelentése 60000 és 500
illetve azok termék számosságú 60000 * 500 =
3.000.000!)

Gépelés:
Az operandusok lehetnek semmilyen kapcsolatban séma. A kapott kapcsolatban séma egyenértékű konkatenációjából az operandus kapcsolatban sémát.
Jelölés:
Ez egy rendkívül számításigényes drága
művelet!
Továbbá, a kapott kiterjesztés általában nem értelmezhető !!

kommutatív Igen
asszociatív Igen

Operátorok: Projection (egyváltozós)
Szemantika:
Hozzon létre egy új kapcsolatban törölnék az operandus összes attribútum (és ebből következően azok értékét), hogy nem említi a vetítés kifejezést.
Gépelés:
A típus a kapott séma megegyezik az operandus séma, de kizárva attribútumok nem szerepel a listán tulajdonság.
Jelölés:
(Attr … x1, …, attr_xn) PROJEKT (R1, attr_x1, …, attr_xn)
Jegyzet:
Ismétlődő értékek hallgatólagosan távolítani!
További megjegyzések:
Algebrai kifejezést egy sor projekt van két dolog is – szerkezetátalakítási és újra kiterjedő !! Bizonyos algebrai manipuláció lehet leküzdeni ezeket a korlátozásokat.
kommutatív (általában) nem asszociatív (általában) nem
Minimális operátorkészlet
Meg lehet mutatni, hogy egy része a bemutatott szereplők (különösen a kiválasztás, a projekt, unió, különbség és a termék) megfelelőek, vagy teljes leírására más szolgáltatók (például csatlakoznak, kereszteződés, stb.)
Az exkluzív operátorok használatát a teljes olvasást néhány természetes algebrai kifejezések rendkívül merev!
Például a kereszteződés üzemeltetőnek az alábbi űrlapot:
Metszéspontja (R1, R2)
egyenértékű az eltérés (UNION (R1, R2), UNION (diff (R1, R2), (diff (R2, R1)))
vagy egyenértékű
Diff (R1, diff (R1, R2))
Miért olyan algebra?
egyszerű nyelvi
meghatározott időpontban való hozzáférés
szemantikailag hang
fejezi ki ugyanazt a lekérdezést, hogy más relációs modell -alapú nyelv
(Vagyis a deklaratív relációs kalkulus)
eljárási
optimisable
Kérdés (egy) â € “”Társaság
Lekérése, majd nevét és címét, az összes alkalmazottak, akik a â € ~Researchâ € ™ osztály.
research_dept: = válasszuk rnev = â € ™ Researcgâ € ™ (megye);
research_dept_emps: = válasszuk dnumber = dno (research_dept termék alkalmazottja);
algl1: = projekt fname lname, cím (research_dept_emps);
Query (kettő) â € “”Társaság
Minden projekt található â € ~Staffordâ € ™, sorolja fel a projekt száma, a kontrolling számát, valamint a minisztérium managerâ € ™ s utolsó nevét, címét, és születési dátum.
Stafford-_projs: = válasszuk plocation = â € ™ Staffordâ € ™ (projektek);
Contr_dept: = válasszuk dnum-dnumber (Stafford_projs termék megye);
proj_dept_mgr: = válasszuk mgrssn = SSN (contr_dept termék alkalmazottja);
alg2: = projekt pnumber, dnum, lname, cím, bdate (proj_dept_mgr);
Query (három) â € “”Társaság
Keresse meg a nevét, az alkalmazottak, akik dolgoznak a projektek által irányított szervezeti egység száma 5.
Dept5_projs (PNO): = projekt pnumber (válassza dnum = 5 (projektek)); emp_proj (SSN PNO): = projekt essn, PNO (works_on); emp_proj_ssns: = projekt SSN (emp_proj); % Minden lehetőség mellett dolgozók dept5 projektekben. Poss_emps_dept5: = (dept5_projs termék emp_proj_ssns) /% Munkavállalók hogy dona € ™ s munka minden dept5 projekt .. emps_not_dept5: = projekt SSN (poss_emps_dept5 különbség emp_proj); result_emp_ssns: = emp proj ssns különbség emps_not_dept5; alg3: = projekt lname, fname (result_emp_ssns njoin alkalmazott);
Query (négy) â € “”Társaság
Készíts egy listát a projekt számok projektek esetében, amelyek olyan munkavállaló, akinek vezetékneve â € ~Smithâ € ™, akár a munkavállaló vagy a menedzser az osztály, amely ellenőrzi a projekt.
Smiths (essn): = projekt SSN (válassza lname = â € ~Smithâ € ™ (munkavállaló));
smith_worker_projs: = projekt pno (works_on njoin kovácsok);
mgrs: = projekt lname, dnumber (válassza SSN = mgrssn (alkalmazott termék megye));
smith_mgrs: = selecy lname = â € ™ Smithâ € ™ (mgrs);
smith_managed_depts (dnum): = projekt dnumber (smith_mgrs);
smith_mgr_projs (PNO): = projekt pmumber (smith_managed_depts njoin projektek);
alg3: = smith_worker_projs unió smith_mgr_projs;
Query (öt) â € “”Társaság
Sorolja fel a nevét minden dolgozó két vagy több eltartott.
% Legyen két példányban munkavállalók eltartott.
Empdep1 (essn, depname1): = projekt essn, dependent_name (függő);
empdep2 (essn2, depname2): = empdep1;
És alkalmazottak több mint egy eltartott.
Emps_gtone_dep (SSN): = projekt essn1 (select (essn = essn2) és (depname1 <> depname2) (empdep1 termék empdep2));
alg5: = projekt lname, fname (alkalmazott njoin eMPS) gtone_dep);
Query (hat) – Társaság
Letölteni a nevét az alkalmazottak, akiknek nincs eltartott.
All_emps: = projekt SSN (munkavállalói); Emps_with_deps (SSN): = projekt essn (függő); Emps_without_deps: = (all_emps
Különbség emps_with_deps); Alg6: = projekt lname, fname
(Emps_without_deps njoin alkalmazott);
Query (hét) â € “”Társaság
Sorolja fel a nevét, a vezetők, akik legalább egy eltartott.
Mgrssn (SSN): = projekt mgrssn (megye); Emps_with_deps (SSN): = projekt essn (függő); Mgrs_with_deps: = (mgrssn metszik emps_with_deps); Alg7: = projekt lname, fname
(Mgrs_with_deps njoin alkalmazott);

“——————————————————————————————————————————————————

Stuðningur þýðing: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
Vensla algebra
Hvað er Algebra?
algebra (Al-je-BRE) nafnorð
stærðfræði
1 A alhæfing tölur sem tákn, yfirleitt bókstafir, tákna tölur eða meðlimir tilteknu mengi af tölum og tengjast með starfsemi sem halda að allar tölur í mengi.
2 A setja saman með starfsemi sem skilgreind eru í mengi sem hlýða á sérstökum lögum.
3 Orð kynnt af arabísku stærðfræðingsins al-Khwarizmi (circa 900 AD) og fært yfir í Latin af Robert frá Chester í 1145.

[Miðenska, bein-stilling og ítalska, algebra, bæði frá Medieval Latin, frá Arabic Al-jabr, sem (vísindi) sameiningu:. Al, the + jabr, Sameining, bein-stillingu]
Reikningsæfingarnar tungumál eru algeng í tölvunarfræði: Boolean algebra fyrir rökfræði hlið; og Vensla algebra fyrir gagnagrunn DML.
Helstu innihaldsefni og algebra eru sett (þ.e. þolanda) og starfsemi (þ.e.a.s. starfsmenn) sem verka á öllum þáttum setja.
Operator eiginleikar (til dæmis, íhuga heila tölu setja og samlagningardæmi rekstur) fela í sér: Samlagning víxlreglan yfir heiltölunum síðan 3 + 4 = 4 + 3 (plús (3,4) == plús (4,3)); og Viðbót er sagður vera tengin yfir heiltölur frá 3 + (4 + 5) = (3 + 4) + 5 (plús (3, plús (4,5)) == plús (plús (3,4), 5 ))).
Einkenni um rel. algebra
Það vinnur allt samskipti í gegnum
merkingarlega unambigous setja af aðgerðum (Ed
Codd 1970).

setur Vensla algebra eru tengslin er
Eftirnafn (með línur, línur) og rekstraraðilar hafa
annaðhvort setja fræðilegur uppruna eða tengsl stilla
fylgjandi.

A Vensla stæðu hefur eins aðföng einn
(Unary), eða tvær (tvöfaldur), samskipti og stundum
val ástand.
Þó framleiðsla tjáning er einn tengslum.

Aðrir Einkenni:

Rekstraraðilar Algebrugluggann er að vinna á öllum með línur í tengslum er;

sem algebra hefur málsmeðferð Reiknifræði
líkan;

En það er ekki “”Turing heill””, má skrifa
Pascal forrit sem vinnur samskiptum fyrir
þar sem það er engin algebrulegt jafngildir.

val skilyrði þarf að meta á móti
hver tuple sjálfstætt;

framleiðsla á algebruleg aðgerð er
ásættanlegt inntak á meðfylgjandi reiknisegða
tjáning – þetta er kallað tjáning
samsetningu.

Stjórnandi: Union (tvöfaldur)
Hvað um vélritun á samræmdum stæðu og hlýst tengsl hennar?
“”UNION”” SAMHÆFNI (UC) tveggja samskiptum Fyrir tvöfaldur tjáningu, tveir þátttakendur relations (þolendur – R1 og R2) skal hafa eftirfarandi uppbyggingu þvingun fyrir þá hugtakið að vera gerð rétt: 1) bæði samskipti hafa sömu gráðu ( þ.e. n); & 2) fyrir hvert eigindi (1 <= i <= N), lén (R1.Attr_i) = lén (R2.Attr_i). Gagnategund tjáning ef tveir tengsl eru á u.c. Þá Tengsl stefið um útkomuna er handahófskennt valið að vera að fyrsta þolanda. ELSE … (þolanda sérstakur – t.d. vara stjórnandi) Merkingarfræði: The hlýst Tengsl hefur alla tuple staðar í annaðhvort fyrsta, annað eða bæði þolendur.
Vélritun:
The tegund af hlýst samband þar stefið er að fyrsta þolanda ef báðir þolanda tengsl eru á u.c.
Tákn:
R1 U R2 UNION (R1, R2)
víxlreglan YES tengin YES
Stjórnandi: Mismunur (tvöfaldur)
merkingarfræði:
Niðurstaðan var sú að Venslin inniheldur allar með línur af fyrstu operand sem eru ekki til staðar í seinni operand.
Vélritun:
The tegund af hlýst samband þar stefið er að fyrsta þolanda ef báðir þolanda tengsl eru á u.c.
Tákn:
R1 – R2 DIFF (R1, R2)
víxlreglan NO tengin NO
Stjórnandi: Val (unary)
merkingarfræði:
Búa til nýjan tengslum eftir útdráttur úr þolanda allar með línur sem uppfylla val skilyrði.
með línur:
The tegund af hlýst samband þar stefið jafngildir stefið í þolanda er.
Úrval ástand hefur eftirfarandi form:
Eigindi nafn Samanburður op. Constant gildi eða Attribute nafn Samanburður op. eigindi nafn
A röð af skilyrðum Selection mætti sameina og í velja CONDITION1 og velja CONDITION2 eða veldu CONDITION1 eða velja CONDITION2
Sumir dæmigerður samanburður rekstraraðila fyrir keypt lén eru>, <, ==,! =, Etc
Tákn:
(Velja ástand) R1 SELECT (R1, val ástand)
Ath:
The hlýst er hlutmengi í þolanda!

víxlreglan YES tengin YES
Vensla algebra: Stjórnandi: Vara (tvöfaldur)
merkingarfræði:
Búa til nýjan tengslum við framkvæmd á mengjamargfeldi
af tveimur þolendur.
(Ef cardinalities af R1 og R2 eru 60.000 og 500
hver um sig, cardinality vara þeirra er 60000 * 500 =
3.000.000!)

Vélritun:
The þolendur getur haft hvaða venslin stefið. The hlýst Tengsl stefið jafngildir samtenging á samband þar stefið í þolanda er.
Tákn:
Þetta er afar computationally dýr
Rekstur!
Einnig, hlýst eftirnafn er yfirleitt ekki máli !!

víxlreglan Já
tengin Já

Stjórnandi: Projection (unary)
merkingarfræði:
Búa til nýjan tengslum með því að fjarlægja úr þolanda allt eigindi (og þar af leiðandi gildi þeirra) sem ekki er getið um í vörpun tjáningu.
Vélritun:
The tegund af hlýst stefið jafngildir stefið í þolanda er en þó ekki eiginleika sem ekki er minnst á eigindi listanum.
Tákn:
(Attr … x1, …, attr_xn) PROJECT (R1, attr_x1, …, attr_xn)
Ath:
Afrit gildi eru óbeint eytt!
Frekari Skýringar:
Í stæðu með a band af verkefnum sem við höfum tvennt að gerast – endurskipulagningu og aftur nær !! Með ákveðnum algebraic inngripa maður getur sigrast á þessum takmörkunum.
víxlreglan (almennt) nr tengin (almennt) nr
Lágmarks sett af rekstraraðila
Það er hægt að sýna fram á að hluti af þeim sem rekstraraðila (sérstaklega valið, verkefni, stéttarfélags, mismunur og vara) eru fullnægjandi, eða heill, til að lýsa öðrum rekstraraðila (td ganga, gatnamótum etc).
The einkarétt notkun fyrirtækja af heill setja gera lestur sumir náttúrulega algebrunnar orðasambönd ákaflega ósveigjanlegt!
Til dæmis, á gatnamótum rekstraraðili hefur þetta form:
Sniðmengi (R1, R2)
jafngildir Diff (Union (R1, R2), Union (DIFF (R1, R2), (DIFF (R2, R1)))
eða jafngildi
DIFF (R1, DIFF (R1, R2))
Hvers vegna algebra?
einfalt mál
sett á tíma aðgang
merkingu hljóð
lýsir sömu fyrirspurnum sem annar Vensla líkan byggt tungumál lýsir
(Þ.e. declarative Vensla Stærðfræðigreining)
málsmeðferð
optimisable
Fyrirspurn (einn) â € “”Company
Endurheimtu þá nafn og heimilisfang allra starfsmanna sem vinna fyrir â € ~Researchâ € ™ deild.
research_dept: = Veldu dname = â € ™ Researcgâ € ™ (umdæmi);
research_dept_emps: = Veldu dnumber = DNO (research_dept vara starfsmaður);
algl1: = Verkefnið fname, lname, heimilisfang (research_dept_emps);
Fyrirspurn (tveir) â € “”Company
Fyrir hvert verkefni staðsett í â € ~Staffordâ € ™, listi Project númer, ráðandi deild númer og deild forstöà € ™ s föðurnafn, heimilisfang og fæðingardag.
Stafford-_projs: = Veldu plocation = â € ™ Staffordâ € ™ (verkefni);
Contr_dept: = Veldu dnum-dnumber (Stafford_projs vara umdæmi);
proj_dept_mgr: = Veldu mgrssn = SSN (contr_dept vara starfsmaður);
alg2: = Verkefnið pnumber, dnum, lname, heimilisfang, bdate (proj_dept_mgr);
Fyrirspurn (þrír) â € “”Company
Finndu nöfn starfsmanna sem vinna á öllum Verkefni stjórnað af deild númer 5.
Dept5_projs (Pno): = Verkefnið pnumber (veldu dnum = 5 (verkefni)); emp_proj (SSN, Pno): = Verkefnið essn, Pno (works_on); emp_proj_ssns: = Verkefnið SSN (emp_proj); % Öll möguleikar starfsmanna sem starfa á dept5 verkefnum. Poss_emps_dept5: = (dept5_projs vöru emp_proj_ssns); /% Starfsmenn sem Dona vinnu € ™ s á öllum dept5 verkefnum .. emps_not_dept5: = Verkefnið SSN (poss_emps_dept5 munur emp_proj); result_emp_ssns: = EMP ranns ssns munur emps_not_dept5; alg3: = Verkefnið lname, fname (result_emp_ssns njoin starfsmann);
Fyrirspurn (fjórir) â € “”Company
Gerðu lista yfir verkefni númer fyrir verkefni sem fela í sér að starfsmaður lét föðurnafn er â € ~Smithâ € ™, annaðhvort sem launþegi eða sem framkvæmdastjóri deildarinnar sem stjórnar verkefninu.
Smiths (essn): = Verkefnið SSN (veldu lname = â € ~Smithâ € ™ (starfsmaður));
smith_worker_projs: = Verkefnið Pno (works_on njoin Smiths);
mgrs: = Verkefnið lname, dnumber (veldu SSN = mgrssn (starfsmaður vara umdæmi));
smith_mgrs: â € = selecy lname = ™ Smitha € ™ (mgrs);
smith_managed_depts (dnum): = Verkefnið dnumber (smith_mgrs);
smith_mgr_projs (Pno): = Verkefnið pmumber (smith_managed_depts njoin verkefnum);
alg3: = smith_worker_projs union smith_mgr_projs;
Fyrirspurn (fimm) â € “”Company
Listi nöfn allra starfsmanna með tveimur eða fleiri framfæri.
% Gera tvö eintök af starfsmönnum með á framfæri.
Empdep1 (essn, depname1): = Verkefnið essn, dependent_name (háð);
empdep2 (essn2, depname2): = empdep1;
& Starfsmenn með fleiri en einum á framfæri.
Emps_gtone_dep (SSN): = Verkefnið essn1 (veldu (essn = essn2) og (depname1 <> depname2) (empdep1 vara empdep2));
alg5: = Verkefnið lname, fname (starfsmaður njoin emps) gtone_dep);
Fyrirspurn (sex) – Fyrirtæki
Sækja nöfn starfsmanna sem hafa engan á framfæri.
All_emps: = Verkefnið SSN (starfsmaður); Emps_with_deps (SSN): = Verkefnið essn (háð); Emps_without_deps: = (all_emps
Munurinn emps_with_deps); Alg6: = Verkefnið lname, fname
(Emps_without_deps njoin starfsmann);
Fyrirspurn (sjö) â € “”Company
Listi nöfn stjórnendur sem hafa að minnsta kosti einn framfæri.
Mgrssn (SSN): = Verkefnið mgrssn (umdæmi); Emps_with_deps (SSN): = Verkefnið essn (háð); Mgrs_with_deps: = (mgrssn skerast emps_with_deps); Alg7: = Verkefnið lname, fname
(Mgrs_with_deps njoin starfsmann);

“——————————————————————————————————————————————————

Nkwado translation: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
Relational Algebra
Gịnị bụ ihe Algebra?
algebra (al-Jeyuel-bre) noun
Mgbakọ na mwepụ
1 A generalization nke som nke akara, na-emekarị mkpụrụ akwụkwọ, na-anọchi anya nọmba ma ọ bụ òtù nke a kpọmkwem set nọmba na na-metụtara site arụmọrụ na nye ndị nile nọmba ke set.
2 A ka ọnụ na arụmọrụ kọwara ya n’ime set na-erube isi kpọmkwem iwu.
3 Okwu ẹkenam site Arab mgbakọ na mwepụ al-Khwarizmi (n’ihe dị ka 900 AD) na wefetakwara n’ime Latin site Robert nke Chester na 1145.

[Middle English, ọkpụkpụ-ntọala ma Italian, algebra, ma site na Medieval Latin, si Arabic al-jabr, na (sayensị nke) reuniting: al, ndị + jabr, reunification, ọkpụkpụ-ọnọdụ.]
Algebraic asụsụ idi ọsọ ke Mgbakọ: Boolean algebra maka mgbagha ọnụ ụzọ ámá; na Relational algebra maka database DML.
Basic Efrata nke ihe algebra bụ a set (i.e. operand) na arụmọrụ (i.e. rụọ) na-eme ihe niile dị n’eluigwe na ụwa nke set.
Ọrụ Njirimara (n’ihi na ihe atụ, tụlee otu ihe integer ka na mgbakwunye na ime ihe) na-agụnye: Tụkwasị bụ commutative n’elu integers ebe ọ bụ na 3 + 4 = 4 + 3 (gbakwunyere (3,4) == plus (4,3)); na Tụkwasị kwuru na-abụ associative n’elu integers ebe ọ bụ na 3 + (4 + 5) = (3 + 4) + 5 (gbakwunyere (3, plus (4-5)) == plus (gbakwunyere (3,4), 5 ))).
E ji mara Asarel. Algebra
Ọ manipulates dum mmekọahụ site a
semantically unambigous set nke arụmọrụ (Ed
Codd 1970).

The relational algebra si tent bụ mmekọrita si
ndọtị (tuples, e nyere ahịrị) na rụọ nwere
ma a ka theoretic si malite ma ọ bụ mmekọrita gbakwasara
amara.

A relational algebraic okwu nwere dị ka ntinye otu
(Unary), ma ọ bụ abụọ (ọnụọgụ abụọ), mmekọahụ na mgbe ụfọdụ a
nhọrọ ọnọdụ.
Mgbe ihe na-egosi na mmepụta bụ otu mmekọrita.

Ndị ọzọ Njirimara:

na algebra si rụọ ọrụ na niile nke mmekọrita si tuples;

na algebra nwere a usoro mgbakọ
model;

Ma ọ bụghị “”Turing zuru ezu””, otu onye nwere ike ide a
Onwa omume nke manipulates mmekọahụ maka
-adịghị algebraic Ẹkot.

a nhọrọ ọnọdụ nwere ike inyocha megide
onye ọ bụla tuple onwe;

mmepụta nke ihe algebraic ọrụ bụ ihe
-anabata ọsọ ọsọ ka a ntarama algebraic
okwu – a na-akpọ okwu
mejupụtara.

Rụọ: Union (ọnụọgụ abụọ)
Gịnị banyere dee nke a relational algebraic okwu na ya nke pụrụ ịkpata mmekọrita?
“”Union”” ndakọrịta (UC) nke abụọ mmekọahụ N’ihi na a ọnụọgụ abụọ okwu, abụọ na-ekere òkè na ibe ya (operands – R1 R2 na) ga nwere ndị na-esonụ bughi constraints maka okwu ahụ bụ na-ụdị ziri ezi: 1) ma mmekọahụ nwere otu ogo ( ie n); & 2) nke ọ bụla àgwà (1 <= i <= n), na ngalaba (R1.Attr_i) = domain (R2.Attr_i). Data ụdị ngosipụta si BỤRỤ na abụọ mmekọahụ na-u.c. Mgbe ahụ mmekọrita schema nke nke pụrụ ịkpata bụ aka ike họọrọ ka ọ bụrụ na nke mbụ operand. Ọzọ … (operand kpọmkwem – e.g. ngwaahịa maka ọrụ) Semantics: The nke pụrụ ịkpata mmekọrita nwere niile tuple ugbu a na ma ndị mbụ, nke abụọ ma ọ bụ ma operands.
dee:
The ụdị nke ndị nke pụrụ ịkpata mmekọrita schema bụ na nke mbụ operand ma ọ bụrụ na operand mmekọahụ na-u.c.
Notation:
R1 R2 U Union (R1, R2)
commutative EE EE associative
Rụọ: Iche (ọnụọgụ abụọ)
Semantics:
The nke pụrụ ịkpata mmekọrita-agụnye ihe nile tuples nke mbụ operand ndị na-adịghị ugbu a na nke abụọ operand.
dee:
The ụdị nke ndị nke pụrụ ịkpata mmekọrita schema bụ na nke mbụ operand ma ọ bụrụ na operand mmekọahụ na-u.c.
Notation:
R1 – R2 DIFF (R1, R2)
commutative NO associative NO
Rụọ: Selection (unary)
Semantics:
Mepụta ọhụrụ mmekọrita site adịrị si operand niile tuples na-egbo nhọrọ ọnọdụ.
Tuples:
The ụdị nke ndị nke pụrụ ịkpata mmekọrita schema bụ Ẹkot na operand si schema.
A nhọrọ ọnọdụ nwere ndị na-esonụ ụdị:
Ikwu na aha Comparison op. Mgbe nile uru ma ọ bụ àgwà aha Comparison op. ikwu aha
A usoro nke nhọrọ ọnọdụ nwere ike ikpokọta dị ka ọ na họrọ condition1 ma họrọ condition2 ma ọ bụ họrọ condition1 ma ọ bụ họrọ condition2
Ụfọdụ ahụkarị tụnyere rụọ maka nyere iwu ngalaba na-agụnye>, <, ==,! =, Etc
Notation:
(Họrọ ọnọdụ) R1 Họrọ (R1, nhọrọ ọnọdụ)
Cheta na:
The nke pụrụ ịkpata bụ a subset nke operand!

commutative EE EE associative
Relational Algebra: Rụọ: Product (ọnụọgụ abụọ)
Semantics:
Mepụta ọhụrụ mmekọrita ke ndisio a Cartesian ngwaahịa
nke abụọ operands.
(Ọ bụrụ na ndị cardinalities nke R1 R2 na ndị 60000 na 500
karị, ha ngwaahịa cardinality bụ 60000 * 500 =
3.000.000!)

dee:
The operands nwere ike nwere ihe ọ bụla mmekọrita schema. The nke pụrụ ịkpata mmekọrita schema bụ Ẹkot na concatenation nke operand si mmekọrita schema.
Notation:
Nke a bụ nnọọ computationally oké ọnụ
ọrụ!
Ọzọkwa, nke pụrụ ịkpata ndọtị bụ na-emekarị bara uru !!

commutative Ee
associative Ee

Rụọ: ntule (unary)
Semantics:
Mepụta ọhụrụ mmekọrita site na iwepu si operand nile àgwà (na N’ihi ụkpụrụ ha) na-adịghị kwuru na ndị ntule okwu.
dee:
The ụdị nke ndị nke pụrụ ịkpata schema bụ Ẹkot na operand si schema ma ewepu àgwà adịghị kwuru na ndị àgwà ndepụta.
Notation:
(Attr … x1, …, attr_xn) Project (R1, attr_x1, …, attr_xn)
Cheta na:
Oyiri ụkpụrụ na-obi kpamkpam wepụrụ!
Ọzọkwa Notes:
Na algebraic okwu na a eriri nke oru ngo anyị nwere ihe abụọ na-aga – nhazigharị na re-inyịme !! Na ụfọdụ algebraic manipulations onye nwere ike imeri ndị a mgbochi.
commutative (n’ozuzu) Ọ dịghị associative (n’ozuzu) Ọ dịghị
Ntakiri set nke rụọ
E nwere ike igosi na a subset nke ọkọnọ rụọ (kpọmkwem na họrọ, oru ngo, n’otu, dị iche na ngwaahịa) na-zuoro, ma ọ bụ zuru ezu, na-akọwa nke ọzọ rụọ (n’ihi na ihe atụ isonyere, nrutu wdg).
The nanị iji ihe rụọ si zuru set mee ka ịgụ ụfọdụ eke algebraic okwu nnọọ adịghị agbanwe agbanwe!
Dị ka ihe atụ, ndị nrutu ọrụ nwere a:
Nrutu (R1, R2)
bụ Ẹkot DIFF (Union (R1, R2), Union (DIFF (R1, R2), (DIFF (R2, R1)))
ma ọ bụ Ẹkot
DIFF (R1, DIFF (R1, R2))
Gịnị mere ihe algebra?
a mfe asụsụ
ka otu ohere
semantically ụda
-egosipụta otu gbara ajụjụ na ibe relational nlereanya dabeere asụsụ na-akọwa
(I.e. ndị declarative relational Calculus)
usoro
optimisable
Njụ-ajụjụ (otu) a € “”Company
Weghachite mgbe ahụ aha na adres nke niile were n’ọrụ na-arụ ọrụ maka a € ~Researchâ € ™ ngalaba.
research_dept: = họrọ dname = a € ™ Researcgâ € ™ (ngalaba);
research_dept_emps: = họrọ dnumber = dno (research_dept ngwaahịa na ọrụ);
algl1: = oru ngo fname, lname, adreesị (research_dept_emps);
Njụ-ajụjụ (abụọ) a € “”Company
N’ihi na ọ bụla oru ngo emi odude ke a € ~Staffordâ € ™, depụta Project ọnụ ọgụgụ, na ịchịkwa ngalaba ọnụ ọgụgụ, na ngalaba managerâ € ™ s aha ikpeazụ, na adreesị, na ụbọchị ọmụmụ.
Stafford-_projs: = họrọ plocation = a € ™ Staffordâ € ™ (oru ngo);
Contr_dept: = họrọ dnum-dnumber (Stafford_projs ngwaahịa ngalaba);
proj_dept_mgr: = họrọ mgrssn = ssn (contr_dept ngwaahịa na ọrụ);
alg2: = oru ngo pnumber, dnum, lname, adreesị, bdate (proj_dept_mgr);
Njụ-ajụjụ (atọ) a € “”Company
-Ahụ aha ndị were n’ọrụ na-arụ ọrụ na niile Projects achịkwa ngalaba nke 5.
Dept5_projs (pno): = oru ngo pnumber (họrọ dnum = 5 (oru ngo)); emp_proj (ssn, pno): = oru ngo essn, pno (works_on); emp_proj_ssns: = oru ngo ssn (emp_proj); % All ohere nke ọrụ arụ ọrụ na dept5 oru ngo. Poss_emps_dept5: = (dept5_projs ngwaahịa emp_proj_ssns); /% were n’ọrụ na Dona € ™ s ọrụ na niile dept5 oru ngo .. emps_not_dept5: = oru ngo ssn (poss_emps_dept5 dị iche emp_proj); result_emp_ssns: = emp proj ssns dị iche emps_not_dept5; alg3: = oru ngo lname, fname (result_emp_ssns njoin ọrụ);
Njụ-ajụjụ (anọ) a € “”Company
Eme ka a na ndepụta nke oru ngo nọmba maka oru ngo na Metụtara onye na-arụ onye aha ikpeazụ bụ a € ~Smithâ € ™, ma dị ka a ọrụ ma ọ bụ dị ka a njikwa nke Department na akara ahụ oru ngo.
-Uzú (essn): = oru ngo ssn (họrọ lname = a € ~Smithâ € ™ (-arụ));
smith_worker_projs: = oru ngo pno (works_on njoin-uzú);
mgrs: = oru ngo lname, dnumber (họrọ ssn = mgrssn (-arụ ngwaahịa ngalaba));
smith_mgrs: = selecy lname = a € ™ Smithâ € ™ (mgrs);
smith_managed_depts (dnum): = oru ngo dnumber (smith_mgrs);
smith_mgr_projs (pno): = oru ngo pmumber (smith_managed_depts njoin oru ngo);
alg3: = smith_worker_projs n’otu smith_mgr_projs;
Njụ-ajụjụ (ise) a € “”Company
Depụta aha niile ọrụ na abụọ ma ọ bụ karịa dependents.
% Mee abụọ mbipụta nke ọrụ dependents.
Empdep1 (essn, depname1): = oru ngo essn, dependent_name (dabere);
empdep2 (essn2, depname2): = empdep1;
& Were n’ọrụ na ihe karịrị otu dabere.
Emps_gtone_dep (ssn): = oru ngo essn1 (họrọ (essn = essn2) na (depname1 <> depname2) (empdep1 ngwaahịa empdep2));
alg5: = oru ngo lname, fname (-arụ njoin emps) gtone_dep);
Njụ-ajụjụ (isii) – Company
Weghachite aha ndị ọrụ na-enweghị dependents.
All_emps: = oru ngo ssn (-arụ); Emps_with_deps (ssn): = oru ngo essn (dabere); Emps_without_deps: = (all_emps
Dị iche emps_with_deps); Alg6: = oru ngo lname, fname
(Emps_without_deps njoin ọrụ);
Njụ-ajụjụ (asaa) a € “”Company
Depụta aha oru onye nwere dịkarịa ala otu dabere.
Mgrssn (ssn): = oru ngo mgrssn (ngalaba); Emps_with_deps (ssn): = oru ngo essn (dabere); Mgrs_with_deps: = (mgrssn irutu emps_with_deps); Alg7: = oru ngo lname, fname
(Mgrs_with_deps njoin ọrụ);

“——————————————————————————————————————————————————

translation dukungan: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
Relational Aljabar
Apa adalah Aljabar?
aljabar (al-je-bre) noun
Matematika
1 Sebuah generalisasi dari aritmatika di mana simbol-simbol, biasanya huruf-huruf alfabet, mewakili angka atau anggota dari serangkaian tertentu angka dan terkait dengan operasi yang berlaku untuk semua nomor dalam set.
2 A ditetapkan bersama dengan operasi yang didefinisikan dalam set yang mematuhi hukum tertentu.
3 Kata diperkenalkan oleh matematikawan Arab al-Khwarizmi (sekitar 900 AD) dan dibawa ke dalam bahasa Latin oleh Robert of Chester di 1145.

[Tengah Inggris, tulang-pengaturan dan Italia, aljabar, baik dari Medieval Latin, dari bahasa Arab al-jabr, yang (ilmu) bersatu kembali. Al, yang + jabr, reunifikasi, tulang-setting]
bahasa aljabar yang umum dalam komputasi: aljabar Boolean untuk gerbang logika; dan aljabar relasional untuk DML basis data.
bahan dasar aljabar adalah seperangkat (yaitu operan) dan operasi (yaitu operator) yang bekerja pada semua elemen dari himpunan.
properti operator (misalnya, menganggap integer mengatur dan operasi penjumlahan) meliputi: Penambahan adalah komutatif selama bilangan bulat sejak 3 + 4 = 4 + 3 (plus (3,4) == plus (4,3)); dan Penambahan dikatakan asosiatif atas bilangan bulat sejak 3 + (4 + 5) = (3 + 4) + 5 (plus (3, plus (4,5)) == plus (plus (3,4), 5 ))).
Karakteristik Rel. Aljabar
Memanipulasi seluruh hubungan melalui
set semantik unambigous operasi (Ed
Codd 1970).

set relasional aljabar adalah hubungan ini
ekstensi (tupel, baris) dan operator memiliki
baik asal teori set atau hubungan berorientasi
kebaikan.

Sebuah ekspresi aljabar relasional memiliki sebagai masukan satu
(Unary), atau dua (biner), hubungan dan kadang-kadang
Kondisi seleksi.
Sedangkan output ekspresi adalah hubungan tunggal.

Karakteristik lain:

operator aljabar ini bekerja pada semua tupel relasi ini;

aljabar memiliki komputasi prosedural
model;

Tapi itu tidak “”Turing lengkap””, seseorang dapat menulis
Program Pascal yang memanipulasi hubungan untuk
yang tidak ada aljabar setara.

kondisi pilihan harus dievaluasi terhadap
setiap tuple secara independen;

output dari operasi aljabar adalah
masukan diterima oleh aljabar konsekuen
ekspresi – ekspresi ini disebut
komposisi.

Operator: Union (biner)
Bagaimana dengan mengetik dari relasional aljabar ekspresi dan hubungannya dihasilkannya?
“”UNION”” KOMPATIBILITAS (uc) dari DUA HUBUNGAN Untuk ekspresi biner, dua berpartisipasi hubungan (operan – R1 dan R2) harus memiliki kendala struktural berikut untuk ekspresi menjadi jenis yang tepat: 1) kedua relasi memiliki derajat yang sama ( yaitu n); & 2) untuk setiap atribut (1 <= i <= n), domain (R1.Attr_i) = domain (R2.Attr_i). DATA JENIS AN Ekspresi ini JIKA dua relasi berada dalam u.c. KEMUDIAN hubungan skema yang dihasilkan adalah sewenang-wenang yang dipilihnya untuk menjadi bahwa dari operan pertama. ELSE … (operan tertentu – misalnya Operator produk) Semantik: Hubungan yang dihasilkan memiliki semua tuple hadir baik dalam pertama, kedua atau kedua operan.
mengetik:
Jenis dari skema relasi yang dihasilkan adalah bahwa dari operan pertama jika kedua hubungan operan berada di u.c.
notasi:
R1 U R2 UNION (R1, R2)
komutatif YES asosiatif YES
Operator: Perbedaan (biner)
Semantik:
Hubungan yang dihasilkan mencakup semua tupel dari operan pertama yang tidak hadir dalam operan kedua.
mengetik:
Jenis dari skema relasi yang dihasilkan adalah bahwa dari operan pertama jika kedua hubungan operan berada di u.c.
notasi:
R1 – R2 DIFF (R1, R2)
komutatif NO asosiatif NO
Operator: Seleksi (unary)
Semantik:
Buat hubungan baru dengan mengekstraksi dari operan semua tupel yang memenuhi kondisi seleksi.
tupel:
Jenis dari skema relasi yang dihasilkan setara dengan skema operan ini.
Sebuah kondisi Temukan memiliki bentuk berikut:
Atribut nama Perbandingan op. nilai konstan atau Atribut nama Perbandingan op. atribut nama
Serangkaian kondisi Seleksi bisa dikombinasikan seperti di pilih condition1 DAN pilih condition2 atau pilih condition1 OR pilih condition2
Beberapa operator perbandingan khas untuk domain memerintahkan termasuk>, <, ==,! =, Dll
notasi:
(Pilih kondisi) R1 SELECT (R1, kondisi seleksi)
catatan:
resultan adalah bagian dari operan!

komutatif YES asosiatif YES
Relational Aljabar: Operator: Produk (biner)
Semantik:
Buat hubungan baru dengan menjalankan produk Cartesian
dari dua operan.
(Jika kardinalitas dari R1 dan R2 adalah 60000 dan 500
masing-masing, kardinalitas produk mereka adalah 60000 * 500 =
3.000.000!)

mengetik:
Operan dapat memiliki skema relasi. Resultan skema relasi setara dengan gabungan dari operan ini skema relasi.
notasi:
Ini adalah sangat komputasi mahal
operasi!
Juga, ekstensi yang dihasilkan biasanya tidak bermakna !!

komutatif Ya
asosiatif Ya

Operator: Proyeksi (unary)
Semantik:
Buat hubungan baru dengan menghapus dari operan semua atribut (dan akibatnya nilai-nilai mereka) yang tidak disebutkan dalam ekspresi proyeksi.
mengetik:
Jenis skema yang dihasilkan setara dengan skema operan tetapi tidak termasuk atribut tidak disebutkan dalam daftar atribut.
notasi:
(Attr … x1, …, attr_xn) PROYEK (R1, attr_x1, …, attr_xn)
catatan:
nilai-nilai duplikat secara implisit dihapus!
Catatan lanjut:
Dalam aljabar ekspresi dengan string proyek kami memiliki dua hal yang terjadi – restrukturisasi dan re-memperluas !! Dengan tertentu aljabar manipulasi seseorang dapat mengatasi pembatasan ini.
komutatif (secara umum) ada asosiatif (secara umum) Tidak ada
set minimal operator
Hal ini dapat menunjukkan bahwa subset dari operator disajikan (khususnya pilih, proyek, serikat, perbedaan dan produk) yang memadai, atau lengkap, untuk menggambarkan operator lain (misalnya bergabung, persimpangan dll).
Penggunaan eksklusif operator dari set lengkap membuat membaca beberapa ekspresi aljabar alami sangat pantang menyerah!
Misalnya, operator persimpangan memiliki formulir ini:
PERSIMPANGAN (R1, R2)
setara dengan DIFF (UNION (R1, R2), UNION (DIFF (R1, R2), (DIFF (R2, R1)))
atau setara dengan
DIFF (R1, DIFF (R1, R2))
Mengapa sebuah aljabar?
bahasa yang sederhana
ditetapkan pada waktu akses
suara semantik
mengungkapkan pertanyaan yang sama yang relasional bahasa model berbasis lain menggambarkan
(Yaitu kalkulus relasional deklaratif)
prosedural
optimisable
Query (satu) â € “”Perusahaan
AMBIL kemudian nama dan alamat dari semua karyawan yang bekerja untuk â € ~Researchâ € ™ departemen.
research_dept: = pilih dname = â € ™ Researcgâ € ™ (kawasan);
research_dept_emps: = pilih dnumber = DNO (karyawan produk research_dept);
algl1: = proyek fname, lname, alamat (research_dept_emps);
Query (dua) â € “”Perusahaan
Untuk setiap proyek yang terletak di â € ~Staffordâ € ™, daftar nomor Project, jumlah departemen pengendalian, dan departemen Managerâ € ™ s terakhir nama, alamat, dan tanggal lahir.
Stafford-_projs: = pilih plocation = â € ™ Staffordâ € ™ (proyek);
Contr_dept: = pilih dnum-dnumber (Departemen produk Stafford_projs);
proj_dept_mgr: = pilih mgrssn = SSN (karyawan produk contr_dept);
alg2: = proyek pnumber, dnum, lname, alamat, bdate (proj_dept_mgr);
Query (tiga) â € “”Perusahaan
Cari nama-nama karyawan yang bekerja pada semua proyek yang dikendalikan oleh departemen nomor 5.
Dept5_projs (PNO): = proyek pnumber (pilih dnum = 5 (proyek)); emp_proj (SSN, PNO): = proyek essn, PNO (WORKS_ON); emp_proj_ssns: = proyek ssn (emp_proj); % Semua kemungkinan karyawan yang bekerja pada proyek-proyek dept5. Poss_emps_dept5: = (dept5_projs emp_proj_ssns produk); /% Karyawan yang sayang € ™ s bekerja pada semua proyek dept5 .. emps_not_dept5: = proyek ssn (poss_emps_dept5 perbedaan emp_proj); result_emp_ssns: = emp SSN proj perbedaan emps_not_dept5; alg3: = proyek lname, fname (result_emp_ssns njoin karyawan);
Query (empat) â € “”Perusahaan
Buatlah daftar nomor proyek untuk proyek-proyek yang Melibatkan karyawan yang nama terakhir adalah â € ~Smithâ € ™, Baik sebagai pekerja atau sebagai manajer Departemen yang mengontrol proyek.
Smiths (essn): = proyek ssn (pilih lname = â € ~Smithâ € ™ (karyawan));
smith_worker_projs: = proyek PNO (WORKS_ON njoin pandai besi);
mgrs: = proyek lname, dnumber (pilih ssn = mgrssn (Departemen produk karyawan));
smith_mgrs: = selecy lname = â € ™ Smitha € ™ (mgrs);
smith_managed_depts (dnum): = proyek dnumber (smith_mgrs);
smith_mgr_projs (PNO): = proyek pmumber (smith_managed_depts njoin proyek);
alg3: = smith_worker_projs smith_mgr_projs serikat;
Query (lima) â € “”Perusahaan
Daftar nama-nama seluruh karyawan dengan dua atau lebih Tanggungan.
% Buatlah dua salinan dari karyawan dengan tanggungan.
Empdep1 (essn, depname1): = proyek essn, dependent_name (tergantung);
empdep2 (essn2, depname2): = empdep1;
& Karyawan dengan lebih dari satu tergantung.
Emps_gtone_dep (SSN): = proyek essn1 (pilih (essn = essn2) dan (depname1 <> depname2) (empdep1 produk empdep2));
alg5: = lname proyek, fname (karyawan njoin EMP) gtone_dep);
Query (enam) – Perusahaan
Mengambil nama-nama karyawan yang tidak memiliki Tanggungan.
All_emps: = proyek ssn (karyawan); Emps_with_deps (SSN): = proyek essn (tergantung); Emps_without_deps: = (all_emps
emps_with_deps perbedaan); Alg6: = proyek lname, fname
(Emps_without_deps njoin karyawan);
Query (tujuh) â € “”Perusahaan
Daftar nama-nama manajer yang memiliki setidaknya satu tergantung.
Mgrssn (SSN): = proyek mgrssn (kawasan); Emps_with_deps (SSN): = proyek essn (tergantung); Mgrs_with_deps: = (mgrssn berpotongan emps_with_deps); Alg7: = proyek lname, fname
(Mgrs_with_deps njoin karyawan);

“——————————————————————————————————————————————————

Aistriúchán Tacaíocht: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
coibhneasta Ailgéabar
Cad is Ailgéabar?
ailgéabar (al-je-BRE) noun
Matamaitic
1 A ginearálú ar uimhríochtúil ina siombailí, de ghnáth litreacha na haibítre, ionadaíocht a dhéanamh ar líon nó baill de shraith ar leith de uimhreacha agus a bhaineann le hoibríochtaí a shealbhú do na huimhreacha sa tacar.
2 A shocrú mar aon le hoibríochtaí atá sainithe sa tacar a obey dlíthe sonraithe.
3 Focal a tugadh isteach le matamaiticeoir Arabach al-Khwarizmi (circa 900 AD) agus thug os cionn Laidin ag Robert de Chester i 1145.

[Middle English, cnámh-leagan agus Iodáilis, ailgéabar, ó Medieval Laidin, ón Araibis al-jabr, an (eolaíocht na) reuniting:. Al, an + jabr, athaontú, cnámh-leagan]
Tá teangacha ailgéabrach coitianta á ríomh: Ailgéabar Boole do geataí loighce; agus coibhneasta ailgéabar haghaidh DML mbunachar sonraí.
Tá comhábhair bunúsach de ailgéabar sraith (.i oibreann) agus oibríochtaí (oibreoirí i.e.) a ghníomhaíonn ar gach gné den tsraith.
airíonna Oibreoir (mar shampla, a mheas slánuimhir a leagan síos agus an Chomh maith le hoibriú) tá: Tá Suimiú cómhalartach thar na slánuimhreacha ó 3 4 = 4 + 3 (móide (3,4) == móide (4,3)); agus tá Addition é sin a bheith associative thar na slánuimhreacha ó 3 + (4 + 5) = (3 + 4) + 5 (móide (3, móide (4,5)) == móide (móide (3,4), 5 ))).
Saintréithe na Bogthaise. Ailgéabar
Láimhseálann sé caidreamh fad trí
sraith semantically unambigous oibríochtaí (Ed
Codd 1970).

Tá Leagann An ailgéabar choibhneasta ar an ndáil ar
tá síneadh (tuples, sraitheanna) agus na n-oibreoirí
ceachtar tionscnaimh theoretic sonrófar nó ndáil dírithe
bhfabhar.

Tá abairt ailgéabrach choibhneasta mar ionchuir amháin
(Unary), nó dhá (dénártha), caidreamh agus uaireanta
coinníoll roghnaithe.
Cé go bhfuil slonn ar aschur gaol amháin.

Saintréithe Eile:

oibreoirí an ailgéabar a oibríonn ar gach ceann de na a bhaineann ar tuples;

Tá an ailgéabar a ríomhaireachtúil nós imeachta
múnla;

Ach nach bhfuil sé “”Turing iomlán””, ar féidir le duine scríobh
clár Pascal a Láimhseálann caidreamh haghaidh
atá níl aon coibhéiseach ailgéabracha.

Tá coinníoll rogha a mheas i gcoinne
gach tuple go neamhspleách;

an t-aschur iomlána oibríochta ailgéabrach ar
ionchur inghlactha le ailgéabrach dá bharr
abairt – an abairt a dtugtar
comhdhéanamh.

Oibreoirí: Union (dénártha)
Cad mar gheall ar an clóscríobh de shloinneadh ailgéabrach choibhneasta agus a ghaol dá bharr?
“”UNION”” Comhoiriúnacht (UC) de DHÁ CAIDRIMH Chun léiriú dénártha, an dá atá rannpháirteach caidreamh (oibrinn – R1 agus R2) ní mór go mbeadh na srianta struchtúracha a leanas in ionad an fhocail a bheidh le cineál ceart: 1) an dá caidreamh an chéim chéanna ( ie n); & 2) i gcás gach tréith (1 <= <i = n), an bhfearann (R1.Attr_i) = fearainn (R2.Attr_i). SONRAÍ CINEÁL AN Slonn ar MÁ bhfuil an dá caidreamh i u.c. ANSIN é an ndáil scéimre na chomhthoradh tuairiscí treallach roghnaithe a bheith go de na chéad oibreann. EILE … (oibreann sonrach – m.sh. oibreoir táirge) Semantics: Tá an ndáil iarmhartach na tuple i láthair i gceachtar an chéad, an dara nó an dá hoibrinn.
clóscríobh:
Is é an cineál an ndáil scéimre dá bharr go bhfuil an chéad oibreann má tá an dá caidreamh oibreann in u.c.
nodaireacht:
R1 U R2 UNION (R1, R2)
chómhalartacha associative TÁ TÁ
Oibreoirí: Difríocht (dénártha)
semantics:
Áirítear ar an ndáil iarmhartach uile tuples den chéad oibreann nach bhfuil i láthair sa dara oibreann.
clóscríobh:
Is é an cineál an ndáil scéimre dá bharr go bhfuil an chéad oibreann má tá an dá caidreamh oibreann in u.c.
nodaireacht:
R1 – R2 DIFF (R1, R2)
NÍL cómhalartach NÍL associative
Oibreoirí: Roghnú (unary)
semantics:
Cruthaigh ndáil nua trí bhaint as an oibreann gach tuples a chomhlíonann na coinníollacha a roghnú.
tuples:
Is é an cineál an ndáil scéimre mar thoradh air coibhéiseach leis an oibreann ar scéimre.
Tá coinníoll rogha an fhoirm seo a leanas:
Aitreabúid ainm Comparáid op. luach tairiseach nó Tréith ainm Comparáid op. tréith ainm
D’fhéadfaí sraith choinníollacha Roghnúcháin a chur le chéile mar atá i condition1 roghnú AND roghnaigh condition2 nó roghnú condition1 NÓ roghnú condition2
I measc roinnt oibreoirí comparáid tipiciúil le haghaidh fearainn ordaíodh>, <, ==,! =, srl
nodaireacht:
(Coinníoll a roghnú) R1 SELECT (R1, coinníoll roghnaithe)
Nóta:
Is chomhthoradh tuairiscí fo-thacar den oibreann!

chómhalartacha associative TÁ TÁ
Coibhneasta Ailgéabar: Oibreoirí: Product (dénártha)
semantics:
Cruthaigh ndáil nua b’fheidir táirge Chairtéiseach
den dá hoibrinn.
(Má tá na cardinalities na R1 agus R2 60000 agus 500
faoi seach, is é a táirge ar cardinality 60000 * 500 =
3,000,000!)

clóscríobh:
Is féidir leis an oibrinn bith maidir scéimre. Is é an ndáil scéimre thoradh coibhéiseach leis an comhchaitéiniú an oibreann ar ndáil scéimre.
nodaireacht:
Is é seo ar an-computationally chostasach
oibriú!
Ina theannta sin, nach bhfuil an síneadh thoradh de ghnáth brí !!

cómhalartach Is ea
associative ea

Oibreoirí: Teilgean (unary)
semantics:
Cruthaigh ndáil nua trí dheireadh as an oibreann gach tréithe (agus dá bhrí sin a luachanna) nach bhfuil luaite san abairt teilgean.
clóscríobh:
Is é an cineál an scéimre thoradh coibhéiseach leis scéimre an oibreann ach gan tréithe nach bhfuil luaite sa liosta tréith.
nodaireacht:
(Attr … x1, …, attr_xn) TIONSCADAL (R1, attr_x1, …, attr_xn)
Nóta:
Luachanna Duplicate bhaint hintuigthe!
Nótaí breise:
In léiriú ailgéabrach le ar shraith tionscadal tá dhá rudaí ag dul ar – athstruchtúrú agus ath-leathnú !! Le manipulations ailgéabracha áirithe ar féidir le duine a shárú na srianta sin.
chómhalartacha (go ginearálta) Uimh associative (go ginearálta) Uimh
sraith Íosráta na n-oibreoirí
Is féidir é a thaispeáint go bhfuil fo-thacar na n-oibreoirí i láthair (go sonrach an roghnú, tionscadail, ceardchumainn, éagsúlacht agus táirgí) leordhóthanach, nó iomlán, chun cur síos hoibreoirí eile (mar shampla páirt a ghlacadh, a dtrasnaíonn srl).
An úsáid eisiach na n-oibreoirí ón sraith iomlán a dhéanamh ag léamh roinnt sloinn ailgéabracha nádúrtha thar a bheith unyielding!
Mar shampla, tá an t-oibreoir a dtrasnaíonn an fhoirm seo:
INTERSECTION (R1, R2)
comhionann le DIFF (UNION (R1, R2), UNION (DIFF (R1, R2), (DIFF (R2, R1)))
nó a choibhéis a
DIFF (R1, DIFF (R1, R2))
Cad chuige ar ailgéabar?
teanga shimplí
socraithe ag rochtain am
fuaim semantically
léiríonn na ceisteanna céanna a chuireann síos teanga eile múnla bunaithe choibhneasta
(.i An calcalas choibhneasta declarative)
nós imeachta
optimisable
Iarratas (ceann amháin) â € “”Cuideachta
Aisghabh ainm ansin agus seoladh gach fostaí a oibríonn don â € ~Researchâ € ™ roinn.
research_dept: = roghnú dname = â € ™ Researcgâ € ™ (roinn);
research_dept_emps: = roghnú dnumber = dno (fostaí táirge research_dept);
algl1: = fname tionscadail, lname, seoladh (research_dept_emps);
Iarratas (dhá) â € “”Cuideachta
I gcás gach tionscadal atá lonnaithe i â € ~Staffordâ € ™, liosta an uimhir Tionscadail, an uimhir roinn rialú, Agus an managerâ roinn € ™ s seo caite ainm, seoladh, agus birthdate.
Stafford-_projs: = roghnú plocation = â € ™ Staffordâ € ™ (tionscadail);
Contr_dept: = roghnú dnum-dnumber (roinn táirge Stafford_projs);
proj_dept_mgr: = roghnú mgrssn = SSN (táirge fostaí contr_dept);
alg2: = tionscadal pnumber, dnum, lname, seoladh, bdate (proj_dept_mgr);
Iarratas (trí cinn) â € “”Cuideachta
Faigh ainmneacha na bhfostaithe atá ag obair ar an Tionscadail go léir faoi rialú uimhir roinn 5.
Dept5_projs (PNO): = pnumber tionscadal (roghnaigh dnum = 5 (tionscadail)); emp_proj (SSN, PNO): = essn tionscadal, PNO (works_on); emp_proj_ssns: = SSN tionscadal (emp_proj); % Gach féidearthachtaí fostaithe atá ag obair ar thionscadail dept5. Poss_emps_dept5: = (dept5_projs emp_proj_ssns táirge); /% Fostaithe a tinn freisin obair € ™ s ar gach tionscadal dept5 .. emps_not_dept5: = tionscadal SSN (poss_emps_dept5 difríocht emp_proj); result_emp_ssns: = EMP SSNs PROJ difríocht emps_not_dept5; alg3: = tionscadal lname, fname (result_emp_ssns njoin fostaí);
Iarratas (ceithre) â € “”Cuideachta
Déan liosta d’uimhreacha tionscadail do thionscadail a I gceist fostaí a bhfuil a ainm â € ~Smithâ € ™ caite, Ceachtar mar oibrí nó mar bhainisteoir na Roinne a rialaíonn an tionscadal.
Smiths (essn): = SSN tionscadal (roghnaigh lname = â € ~Smithâ € ™ (fostaí));
smith_worker_projs: = tionscadal PNO (works_on njoin gaibhne);
mgrs: = tionscadal lname, dnumber (roghnaigh SSN = mgrssn (roinn táirge fostaí));
smith_mgrs: = selecy lname = â € ™ Smithâ € ™ (mgrs);
smith_managed_depts (dnum): = tionscadal dnumber (smith_mgrs);
smith_mgr_projs (PNO): = tionscadal pmumber (smith_managed_depts njoin tionscadail);
alg3: = smith_worker_projs smith_mgr_projs aontas;
Iarratas (cúig) â € “”Cuideachta
Déan liosta de na ainmneacha na fostaithe go léir a bhfuil dhá cheann nó níos mó Cleithiúnaithe.
% Déan dhá chóip de fhostaithe a bhfuil cleithiúnaithe acu.
Empdep1 (essn, depname1): = essn tionscadal, dependent_name (spleách);
empdep2 (essn2, depname2): = empdep1;
& Fostaithe le níos mó ná cleithiúnaí amháin.
Emps_gtone_dep (SSN): = essn1 tionscadal (roghnaigh (essn = essn2) agus (depname1 <> depname2) (empdep1 empdep2 táirge));
alg5: = lname tionscadal, fname (fostaí njoin EMPS) gtone_dep);
Iarratas (sé) – Company
Aisghabh ainmneacha na bhfostaithe nach bhfuil aon Cleithiúnaithe.
All_emps: = tionscadal SSN (fostaí); Emps_with_deps (SSN): = essn tionscadal (spleách); Emps_without_deps: = (all_emps
emps_with_deps Difríocht); Alg6: = lname tionscadail, fname
(Emps_without_deps njoin fostaí);
Iarratas (seacht) â € “”Cuideachta
Déan liosta de na ainmneacha na mbainisteoirí a bhfuil ar a laghad ceann cleithiúnaí.
Mgrssn (SSN): = tionscadal mgrssn (roinn); Emps_with_deps (SSN): = essn tionscadal (spleách); Mgrs_with_deps: = (mgrssn Trasnaigh emps_with_deps); Alg7: = lname tionscadail, fname
(Mgrs_with_deps njoin fostaí);

“——————————————————————————————————————————————————

traduzione Supporto: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
Algebra relazionale
Che cosa è un algebra?
algebra (al-je-bre) sostantivo
Matematica
1 Una generalizzazione di aritmetica in cui simboli, di solito le lettere dell’alfabeto, rappresentano numeri o membri di uno specifico gruppo di numeri e sono legati da operazioni che valgono per tutti i numeri nel set.
2 Un insieme insieme con le operazioni definite nel set che obbedire alle leggi specifiche.
3 Parola introdotto dal matematico arabo al-Khwarizmi (circa 900 dC) e portato su in latino da Roberto di Chester nel 1145.

[Medio Inglese, osso-impostazione e italiano, algebra, sia dal latino medievale, dall’arabo al-Jabr, il (la scienza di) riunire:. Al, il + Jabr, la riunificazione, osso-impostazione]
lingue algebriche sono comuni nel campo dell’informatica: algebra booleana per porte logiche; e algebra relazionale per DML database.
Gli ingredienti di base di algebra sono un insieme (cioè operando) e operazioni (cioè operatori) che agiscono su tutti gli elementi del set.
proprietà operatore (ad esempio, si consideri un intero set e l’operazione di addizione) includono: aggiunta è commutativa nel corso degli interi da 3 + 4 = 4 + 3 (più (3,4) == più (4,3)); e aggiunta si dice che sia associativa sugli interi dal 3 + (4 + 5) = (3 + 4) + 5 (più (3, più (4,5)) == più (più (3,4), 5 ))).
Caratteristiche del Rel. Algebra
Si manipola intere relazioni attraverso un
insieme semanticamente unambigous di operazioni (Ed
Codd 1970).

insiemi del algebra relazionale sono il rapporto del
estensione (tuple, righe) e gli operatori hanno
sia di origine teorica impostare o relazione orientati
favore.

Una espressione algebrica relazionale ha come input una
(Unario), o due (binario), le relazioni e, talvolta, un
condizione di selezione.
Mentre la produzione di espressione è una singola relazione.

Altre caratteristiche:

operatori del algebra lavorare su tutti i tuple della relazione;

l’algebra ha una computazionale procedurale
modello;

Ma non è “”Turing completo””, si può scrivere
programma di Pascal che manipola le relazioni per
che non esiste un equivalente algebrico.

una condizione di selezione deve essere valutato contro
ogni tupla in modo indipendente;

l’uscita di un’operazione algebrica è un
ingresso accettabile per un conseguente algebrica
espressione – questo si chiama espressione
composizione.

Operatori: Union (binario)
Che cosa circa la digitazione di un’espressione algebrica relazionale e la sua relazione risultante?
“”UNION”” Compatibilità (UC) di due relazioni per una espressione binaria, i due partecipanti relazioni (operandi – R1 e R2) deve avere i seguenti vincoli strutturali per l’espressione di essere tipo corretto: 1) sia nei rapporti hanno lo stesso grado ( cioè n); E 2) per ogni attributo (1 <= i <= n), il dominio (R1.Attr_i) = dominio (R2.Attr_i). Il tipo di dati di un’espressione di se i due rapporti sono in u.c. THEN lo schema relazione della risultante è arbitrario scelto per essere quella del primo operando. ELSE … (operando specifiche – ad esempio operatore prodotto) Semantica: Il rapporto risultante ha tutte le tuple presenti sia nel primo, il secondo o entrambi gli operandi.
Digitando:
Il tipo di schema di relazione risultante è quella del primo operando se entrambe le relazioni operandi sono u.c.
Notazione:
R1 R2 U UNION (R1, R2)
commutativa SI SI associativa
Operatori: Differenza (binario)
Semantica:
La relazione risultante include tutte le tuple del primo operando che non sono presenti nel secondo operando.
Digitando:
Il tipo di schema di relazione risultante è quella del primo operando se entrambe le relazioni operandi sono u.c.
Notazione:
R1 – R2 DIFF (R1, R2)
NO NO commutativa associativa
Operatori: Selezione (unario)
Semantica:
Creare un nuovo rapporto estraendo dal operando tutte le tuple che soddisfano le condizioni di selezione.
Le tuple:
Il tipo di schema di relazione risultante è equivalente allo schema dell’operando.
Una condizione di selezione ha il seguente modulo:
Nome attributo di confronto op. Valore costante o Nome attributo di confronto op. Nome attributo
Una serie di condizioni di selezione potrebbe essere combinati come in select condizione1 e selezionare condizione2 o selezionare condizione1 O selezionare condizione2
Alcuni operatori tipici di confronto per i domini ordinati comprendono>, <, ==,! =, Ecc
Notazione:
(Select condizione) R1 SELECT (R1, condizione di selezione)
Nota:
La risultante è un sottoinsieme dell’operando!

commutativa SI SI associativa
Algebra relazionale: Operatori: Prodotto (binario)
Semantica:
Creare un nuovo rapporto con l’esecuzione di un prodotto cartesiano
dei due operandi.
(Se le cardinalità di R1 e R2 sono 60000 e 500
rispettivamente, cardinalità del loro prodotto è 60000 * 500 =
3.000.000!)

Digitando:
Gli operandi possono avere qualsiasi schema di relazione. Lo schema relazione risultante è equivalente alla concatenazione di schema di relazione dell’operando.
Notazione:
Questo è estremamente costoso computazionalmente
operazione!
Inoltre, l’estensione risultante di solito non è significativo !!

commutativa Sì
associativo Sì

Operatori: Proiezione (unario)
Semantica:
Creare un nuovo rapporto rimuovendo dal operando tutti gli attributi (e di conseguenza i loro valori) che non sono menzionati nella espressione di proiezione.
Digitando:
Il tipo di schema risultante è equivalente allo schema del operando ma esclusi gli attributi non citati nella lista di attributi.
Notazione:
(Attr … x1, …, attr_xn) PROJECT (R1, attr_x1, …, attr_xn)
Nota:
i valori duplicati sono implicitamente rimossi!
Ulteriori Note:
In una espressione algebrica con una serie di progetti che abbiamo due cose in corso – la ristrutturazione e ri-estendere !! Con alcune manipolazioni algebriche si possono superare queste limitazioni.
commutativa (in generale) n associativo (in generale) No
insieme minimo di operatori
Si può dimostrare che un sottoinsieme degli operatori presenti (in particolare la selezione, progetto, sindacali, di differenza e di prodotto) sono sufficienti, o completa, per descrivere gli altri operatori (per esempio unirsi, intersezione ecc).
L’uso esclusivo di operatori del set completo rendere la lettura di alcune espressioni algebriche naturali estremamente inflessibile!
Ad esempio, l’operatore di intersezione ha questa forma:
Incrocio (R1, R2)
è equivalente a DIFF (UNION (R1, R2), UNION (DIFF (R1, R2), (DIFF (R2, R1)))
o equivalenti a
DIFF (R1, DIFF (R1, R2))
Perché un’algebra?
un linguaggio semplice
fissato a un tempo di accesso
suono semanticamente
esprime la stessa query che un altro linguaggio relazionale modello basato descrive
(Cioè il calcolo relazionale dichiarativa)
procedurale
optimisable
Query (uno) â € “”Società
Recupera quindi il nome e l’indirizzo di tutti i dipendenti che lavorano per il dipartimento di € â € ™ ~Researchâ.
research_dept: = Seleziona dname = â € ™ Researcgâ € ™ (dipartimento);
research_dept_emps: = Seleziona DNumero = DNO (dipendenti prodotto research_dept);
algl1: = progetto fname, lname, indirizzo (research_dept_emps);
Query (due) â € “”Società
Per ogni progetto si trova in un € ~Staffordâ € ™, elencare il numero di progetto, il numero di reparto di controllo, e il Dipartimento managerâ € ™ s cognome, indirizzo, data di nascita e.
Stafford-_projs: = Seleziona plocation = â € ™ Staffordâ € ™ (progetti);
Contr_dept: = Seleziona dnum-DNumero (Stafford_projs reparto di prodotto);
proj_dept_mgr: = Seleziona mgrssn = SSN (dipendente prodotto contr_dept);
ALG2: = progetto pnumber, dnum, lname, indirizzo, bdata (proj_dept_mgr);
Query (tre) â € “”Società
Trovare i nomi dei dipendenti che lavorano su tutti i progetti controllati dal numero di reparto 5.
Dept5_projs (Pno): = progetto pnumber (selezionare dnum = 5 (progetti)); emp_proj (SSN, PNO): = progetto ESSN, Pno (LAVORA_SU); emp_proj_ssns: = progetto ssn (emp_proj); % Tutte le possibilità di dipendenti che lavorano su progetti dept5. Poss_emps_dept5: = (dept5_projs emp_proj_ssns prodotto); /% Dipendenti che Donà lavoro € ™ s su tutti i progetti dept5 .. emps_not_dept5: = progetto SSN (poss_emps_dept5 differenza emp_proj); result_emp_ssns: = emp SSNs proj differenza emps_not_dept5; alg3: = progetto lname, fname (result_emp_ssns njoin dipendente);
Query (quattro) â € “”Società
Fate una lista di numeri di progetto per i progetti che coinvolgono un dipendente il cui cognome è â € ~Smithâ € ™, sia come lavoratore o come manager del dipartimento che controlla il progetto.
Smiths (ESSN): = progetto SSN (selezionare lname = â € ~Smithâ € ™ (dipendente));
smith_worker_projs: = progetto Pno (LAVORA_SU njoin fabbri);
MGRS: = progetto lname, DNumero (selezionare SSN = mgrssn (dipendente reparto di prodotto));
smith_mgrs: = selecy lname = â € ™ Smitha € ™ (MGRS);
smith_managed_depts (dnum): = progetto DNumero (smith_mgrs);
smith_mgr_projs (Pno): = progetto pmumber (smith_managed_depts njoin progetti);
alg3: = smith_worker_projs smith_mgr_projs sindacali;
Query (cinque) â € “”Società
Elencare i nomi di tutti i dipendenti con due o più persone a carico.
% Fare due copie di lavoratori con persone a carico.
Empdep1 (ESSN, depname1): = progetto ESSN, dependent_name (dipendente);
empdep2 (essn2, depname2): = empdep1;
e dipendenti con più di un dipendente.
Emps_gtone_dep (SSN): = progetto essn1 (selezionare (ESSN = essn2) e (depname1 <> depname2) (empdep1 empdep2 prodotto));
alg5: = progetto lname, fname (dipendente njoin EMP) gtone_dep);
Query (sei) – Azienda
Recuperare i nomi dei dipendenti che non hanno dipendenti.
All_emps: = progetto ssn (dipendente); Emps_with_deps (SSN): = progetto ESSN (dipendente); Emps_without_deps: = (all_emps
emps_with_deps differenza); Alg6: = progetto lname, fname
(Emps_without_deps njoin dipendente);
Query (sette) â € “”Società
Elencare i nomi dei manager che hanno almeno un dipendente.
Mgrssn (SSN): = progetto mgrssn (dipartimento); Emps_with_deps (SSN): = progetto ESSN (dipendente); Mgrs_with_deps: = (mgrssn intersecano emps_with_deps); Alg7: = progetto lname, fname
(Mgrs_with_deps njoin dipendente);

“——————————————————————————————————————————————————

サポート翻訳:http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
関係代数
代数とは何ですか?
代数(アル・JE-BRE)名詞
数学
記号、アルファベットの通常の文字は、数字または数値の特定のセットのメンバーを代表し、セット内のすべての数字のために保持する操作によって関連している算術演算の1一般化。
2 Aは、指定された法律に従うセットで定義されたオペレーションと一緒に設定してください。
アラブの数学者アルKhwarizmi(約900 AD)によって導入され、1145年にチェスターのロバートによってラテン語に持ち込まれた3ワード。

【中世英語、骨設定やイタリア、代数、再会アラビア語のアル・jabr、(科学)から、中世ラテン語の両方から:アル、+のjabr、統一、骨-設定]
代数言語は、コンピューティングに共通している:論理ゲートのためのブール代数。データベースのDMLおよびリレーショナル代数。
代数の基本的な成分は、セットのすべての要素に作用する集合(すなわち、オペランド)と操作(すなわち、オペレータ)です。
オペレーターのプロパティが含まれる(例えば、整数設定し、加算演算を考慮):添加は整数上可換であるので、3 + 4 = 4 + 3(プラス(3,4)==プラス(4,3));そして添加は以来、整数上の連想であると言われている3 +(4 + 5)=(3 + 4)+ 5(プラス(3、プラス(4,5))==プラス(プラス(3,4)、5 )))。
Relの特徴。代数
それはを通して全体の関係を操作します
操作の意味的に曖昧でないセット(エド
コッド1970)。

関係代数のセットは、関係のあります
拡張子(タプル、行)と演算子います
集合論的起源または関係指向のいずれか
賛成。

関係代数式は、入力1として持っています
(単項)または2つ(バイナリ)、関係、時には
選択条件。
式の出力は、単一の関係はあるが。

その他の特徴:

代数の演算子は、関係のタプルのすべてに取り組みます。

代数は、手続きの計算を持っています
モデル;

しかし、それは「チューリング完全」ではない、人は書くことができます
以下のための関係を操作するパスカルプログラム
これは何の代数的等価がありません。

選択条件はに対して評価する必要があります
それぞれが独立してタプル。

代数操作の出力は
その結果としての代数的に受け入れ可能な入力
表現 – この呼ばれる式
組成。

演算子:連合(バイナリ)
どのような関係代数式のタイピングとその結果の関係は?
バイナリ表現のために2つの関係、2参加の関係(オペランド – R1とR2)の「UNION」互換性(UC)は、タイプが正しいことを表現するため、以下の構造的制約を持っている必要があります:1)両方の関係は同じ学位を持っています(すなわちn個) &2)各属性(1 <= iは= n)は、ドメイン(R1.Attr_i)=ドメイン(R2.Attr_iを)<。式のデータ・タイプ2つの関係はu.c.にある場合その後生成の関係スキーマは、最初のオペランドとなるように任意に選択されます。 ELSE …(オペランドの特定 – 例えば積演算子)意味:結果の関係は、第1、第2、または両方のオペランドのいずれかに存在するすべてのタプルを持っています。
タイピング:
両方のオペランドの関係がu.c.にある場合、得られた関係スキーマのタイプは、最初のオペランドのものです
表記:
R1 U R2 UNION(R1、R2)
可換YES連想YES
演算子:違い(バイナリ)
意味:
得られた関係は、第二オペランドには存在しない最初のオペランドのすべてのタプルを含んでいます。
タイピング:
両方のオペランドの関係がu.c.にある場合、得られた関係スキーマのタイプは、最初のオペランドのものです
表記:
R1 – R2 DIFF(R1、R2)
可換NO連想NO
演算子:セレクション(単項)
意味:
オペランドから選択条件を満たすすべてのタプルを抽出することによって、新たな関係を作成します。
タプル:
得られた関係スキーマのタイプは、オペランドのスキーマに相当します。
選択条件は、次の形式があります。
比較オペアンプ属性名。一定の値や属性名比較オペアンプ。属性名
選択条件の一連の選択条件1のように組み合わせるAND条件2または選択条件1 OR選択条件2を選択することができました
注文したドメインのいくつかの典型的な比較演算子は>、<、==、!=、などが含ま
表記:
(選択状態)R1 SELECT(R1、選択条件)
注意:
結果としては、オペランドのサブセットです!

可換YES連想YES
関係代数:演算子:プロダクト(バイナリ)
意味:
デカルト積を実行することにより、新たな関係を作成します。
2つのオペランドの。
(R1とR2のカーディナリティは60000と500であれば
それぞれ、それらの製品の基数は60000 * 500 =です
300万!)

タイピング:
オペランドは任意の関係スキーマを持つことができます。得られた関係スキーマは、オペランドの関係スキーマを連結することと同じです。
表記:
これは、非常に計算的に高価です
操作!
また、得られた拡張子は、通常は意味がありません!

はい可換
連想はい

演算子:プロジェクション(単項)
意味:
オペランドから投影式の中で言及されていないすべての属性(その結果、それらの値)を削除して、新規のリレーションを作成します。
タイピング:
得られたスキーマのタイプは、オペランドのスキーマと同等ですが、属性リストに記載されていない属性を除きます。
表記:
(ATTR … X1、…、attr_xn)PROJECT(R1、attr_x1、…、attr_xn)
注意:
重複する値は、暗黙的に削除されます!
また、注記:
プロジェクトの文字列を持つ代数式では、2つの事が起こって持っている – 再編と再伸びます!特定の代数的操作で1は、これらの制限を克服することができます。
いいえ(一般的に)いいえ連想(一般的に)可換
オペレーターの最小セット
提示さ演算子(具体的に選択し、プロジェクト、労働組合、差異および製品)のサブセットは、十分な、または完了している(例えば、参加などの交点)を他の演算子を記述することを示すことができます。
完全なセットからの演算子の排他的使用は極めて不屈のいくつかの自然な代数式を読んでください!
例えば、交差点のオペレータは、このフォームがあります:
INTERSECTION(R1、R2)
DIFF(UNION(R1、R2)、UNION(DIFF(R1、R2)、(DIFF(R2、R1)))と等価です
またはに相当
DIFF(R1、DIFF(R1、R2))
なぜ代数?
シンプルな言語
時間のアクセスに設定
意味的に音
別のリレーショナルモデルベースの言語で記述したのと同じクエリを表現します
(すなわち、宣言型リレーショナル計算)
手続きの
最適化可能
クエリ(1)†“”会社
その後、â€~Research’部門のために働くすべての従業員の名前とアドレスを取得します。
research_dept:=選択のdname =€™Researcg’(県)â。
research_dept_emps:=選択DNUMBER = DNO(research_dept製品の従業員)。
algl1:=プロジェクトfnameは、LNAME、アドレス(research_dept_emps)。
クエリ(2)†“”会社
â€~Stafford’に位置し、すべてのプロジェクトでは、プロジェクト番号、制御部門番号、および部門のmanager’sの最後の名前、住所、生年月日をリストします。
スタッフォード-_projs:=選択plocation =’Stafford’(プロジェクト)。
Contr_dept:=セレクトd numの形式で表され-DNUMBER(Stafford_projs製品部門)。
proj_dept_mgr:=選択mgrssn = SSN(contr_dept製品の従業員)。
ALG2:=プロジェクトpnumber、d numの形式で表され、LNAME、住所、BDATE(proj_dept_mgr)。
クエリー(3)†“”会社
部門番号5によって制御されているすべてのプロジェクトに取り組む従業員の名前を検索します。
Dept5_projs(PNO):=プロジェクトpnumber(= 5(プロジェクトを)d numの形式で表さ選択します)。 emp_proj(SSN、PNO):=プロジェクトESSN、PNO(works_on)。 emp_proj_ssns:=プロジェクトSSN(emp_proj)。 %dept5プロジェクトに従事している従業員のすべての可能性を。 Poss_emps_dept5:=(製品emp_proj_ssnsをdept5_projs);すべてのdept5プロジェクトのドナ€™sの仕事/%の従業員.. emps_not_dept5:=プロジェクトSSN(poss_emps_dept5差emp_proj)。 result_emp_ssns:= EMPのprojのSSN差emps_not_dept5。 ALG3:=プロジェクトLNAME、FNAME(従業員njoin result_emp_ssns)。
クエリ(4)†“”会社
労働者としてまたはプロジェクトをコントロールする部門のマネージャーとしてのいずれかで、姓€~Smith’âである従業員を巻き込むプロジェクトのためのプロジェクト番号のリストを作成します。
スミス(ESSN):=プロジェクトSSN(LNAMEを選択=â€~Smith’(従業員));
smith_worker_projs:=プロジェクトPNO(鍛冶njoin works_on)。
MGRS:=プロジェクトLNAME、DNUMBER(SSN = mgrssn(従業員の製品部門)を選択します)。
smith_mgrs:= selecy LNAME =€â™Smith’(MGRS)。
smith_managed_depts(d numの形式で表さ):=プロジェクトDNUMBER(smith_mgrs)。
smith_mgr_projs(PNO):=プロジェクトpmumber(プロジェクトnjoin smith_managed_depts)。
ALG3:= smith_worker_projs組合smith_mgr_projs。
クエリ(5)†“”会社
2以上の扶養家族を持つすべての従業員の名前をリストします。
%扶養家族と従業員の2つのコピーを作成します。
Empdep1(ESSN、depname1):=プロジェクトESSN、dependent_name(依存)。
empdep2(essn2、depname2):= empdep1。
従属つ以上持つ&従業員。
Emps_gtone_dep(SSN):=プロジェクトessn1(選択(ESSN = essn2)及び(depname1 <> depname2)(empdep1製品empdep2));
alg5:=プロジェクトLNAME、FNAME(EMPS njoin従業員)gtone_dep)。
クエリ(6) – 会社
何の扶養を持たない従業員の名前を取得します。
All_emps:=プロジェクトSSN(従業員)。 Emps_with_deps(SSN):=プロジェクトESSN(依存)。 Emps_without_deps:=(all_emps
差emps_with_deps)。 ALG6:=プロジェクトLNAME、FNAME
(njoin従業員をemps_without_deps)。
クエリ(7)†“”会社
依存少なくとも一つを持っている経営者の名前の一覧を表示します。
Mgrssn(SSN):=プロジェクトmgrssn(県); Emps_with_deps(SSN):=プロジェクトESSN(依存)。 Mgrs_with_deps:=(emps_with_depsを交差mgrssn)。 ALG7:=プロジェクトLNAME、FNAME
(従業員njoin mgrs_with_deps)。

“——————————————————————————————————————————————————

translation Support: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
hubungan Aljabar
Apa sing Aljabar?
aljabar (al-je-Bre) tembung
Matématika
1 A umum aritmetika kang simbol, biasane huruf saka aksara, makili nomer utawa anggota saka pesawat tartamtu saka nomer lan silih gegandhèngan operasi sing terus kanggo kabeh nomer ing pesawat.
2 A nyetel bebarengan karo operasi ditetepake ing pesawat sing ngrungokake hukum kasebut.
3 Tembung ngenalaken déning matématikawan Arab al-Khwarizmi (taun 900 M) lan digawa liwat menyang Latin dening Robert saka Chester ing 1145.

[Tengah Inggris, balung-setelan lan Italia, aljabar, loro saka Medieval Latin, saka Arab al-jabr, ing (èlmu) kapanggih malih:. Al, ing + jabr, manèh, balung-setelan]
basa aljabar sing umum ing komputerisasi: aljabar Boolean kanggo gerbang logika; lan aljabar hubungan kanggo DML database.
bahan dhasar saka aljabar sing pesawat (i.e. operand) lan operasi (i.e. operator) sing tumindak ing kabeh unsur saka pesawat.
situs Operator (contone, nimbang lan ongko nyetel lan operasi tambahan) kalebu: Saliyane iku Commutative liwat wilangan bulat wiwit 3 + 4 = 4 + 3 (plus (3,4) == plus (4,3)); lan Kajaba wis ngandika marang associative liwat wilangan bulat wiwit 3 + (4 + 5) = (3 + 4) + 5 (plus (3, plus (4,5)) == plus (plus (3,4), 5 ))).
Karakteristik rel. aljabar
Iku diedit kabeh hubungan liwat
pesawat redaksional unambigous saka operasi (Ed
Codd 1970).

set ing hubungan aljabar iku hubungan kang
extension (tuples, larik) lan operator duwe
salah siji sing asal téoretis nyetel utawa hubungan tujuan
sih.

A expression aljabar hubungan wis minangka masukan siji
(Unary), utawa loro (sepasang), hubungan lan kadhangkala
kondisi pilihan.
Nalika output expression iku hubungan siji.

Ciri liyane:

operator ing aljabar kang bisa ing kabeh tuples hubungan kang;

aljabar wis komputasional prosedural
model;

Nanging iku ora “”Turing lengkap””, siji bisa nulis
program Pascal sing diedit hubungan kanggo
kang ana aljabar padha.

kondisi pilihan wis bisa mandhiri marang
saben tuple independen;

output saka operasi aljabar iku sawijining
input ditrima menyang aljabar akibaté
expression – expression iki diarani
komposisi.

Operators: Union (binar)
Apa bab typing saka hubungan aljabar expression lan hubungan asil sawijining?
“”Union”” kompatibilitas (UC) saka rong hubungan Kanggo expression binar, loro Agencies hubungan (operands – R1 lan R2) kudu duwe alangan struktural ngisor iki kanggo ekspresi dadi jinis bener: 1) loro hubungan duwe gelar sing padha ( IE n); & 2) kanggo saben ngubungake (1 <= i <= n), ing domain (R1.Attr_i) = domain (R2.Attr_i). THE DATA TYPE OF AN Expression kang Yen loro hubungan ing u.c. Banjur ing hubungan ngengrengan saka asil punika kasepakatan dipilih dadi sing saka operand pisanan. Liya … (operand tartamtu – contone operator produk) semantik: Ing hubungan asil wis kabeh tuple saiki ing salah siji pisanan, kaloro utawa loro operands.
Ngetik:
Jinis hubungan ngengrengan asil iku saka operand pisanan yen loro hubungan operand ing u.c.
notasi:
R1 U R2 UNION (R1, R2)
Commutative YES associative YES
Operators: Bèntenipun (binar)
semantik:
Ing hubungan asil kalebu kabeh tuples saka operand pisanan sing ora ana ing operand liya.
Ngetik:
Jinis hubungan ngengrengan asil iku saka operand pisanan yen loro hubungan operand ing u.c.
notasi:
R1 – R2 diff (R1, R2)
Commutative ora ana associative ora ana
Operators: Pilihan (unary)
semantik:
Nggawe hubungan anyar dening menyuling saka operand kabeh tuples sing gawe marem kahanan pilihan.
tuples:
Jinis hubungan ngengrengan asil padha karo ngengrengan ing operand kang.
A kondisi pilihan wis wangun ing ngisor iki:
Ngubungake jeneng Comparison op. Nilai pancet utawa ngubungake jeneng Comparison op. ngubungake jeneng
A seri saka kahanan Pilihan bisa dikombinasikaké ing pilih condition1 lan pilih condition2 utawa pilih condition1 UTAWA pilih condition2
Sawetara operator comparison khas domain dhawuh kalebu>, <, ==, =, etc
notasi:
(Pilih kondisi) R1 Pilih (R1, kondisi pilihan)
Catetan:
asil punika himpunan bagéyan saking operand ing!

Commutative YES associative YES
Hubungan Aljabar: Operator: Product (binar)
semantik:
Nggawe hubungan anyar dilakokaké produk Cartesian
saka loro operands.
(Yen cardinalities saka R1 lan R2 sing 60000 lan 500
mungguh, cardinality produk kang wis 60000 * 500 =
3,000,000!)

Ngetik:
The operands bisa duwe hubungan ngengrengan. The asil hubungan ngengrengan padha karo concatenation saka operand kang hubungan ngengrengan.
notasi:
Iki banget komputasi larang
operasi!
Uga, extension asil ora biasane migunani !!

Commutative Ya
associative Ya

Operators: Nggambarake (unary)
semantik:
Nggawe hubungan anyar dening njabut saka operand kabeh kawicaksanan (lan Akibate nilai) sing ora kasebut ing expression nggambarake.
Ngetik:
Jinis ngengrengan asil padha karo ngengrengan ing operand nanging kalebu kawicaksanan ora kasebut ing dhaftar ngubungake.
notasi:
(Attr … X1, …, attr_xn) PROJECT (R1, attr_x1, …, attr_xn)
Catetan:
angka duplikat sing implicitly dibusak!
Cathetan luwih:
Ing aljabar expression karo senar saka proyèk kita duwe loro iku arep – di toto maneh lan re-ndawakake !! Kanthi tartamtu aljabar manipulations siji bisa ngalahake pawatesan.
Commutative (ing umum) Ora associative (ing umum) Ora
pesawat Minimal operator
Iku bisa uga ditampilake sing himpunan bagéyan saking operator presented (khusus pilih, project, Uni, prabédan lan produk) sing ora nyukupi, utawa lengkap, kanggo njlèntrèhaké operator liyane (contone nggabungake, persimpangan etc).
Panggunaan eksklusif saka operator saka pesawat lengkap nggawe maca sawetara ungkapan aljabar alam arang banget unyielding!
Contone, ing operator persimpangan wis wangun iki:
Persimpangan (R1, R2)
padha karo diff (UNION (R1, R2), Union (bènten (R1, R2), (bènten (R2, R1)))
utawa padha karo kanggo
Diff (R1, diff (R1, R2))
Kok sing aljabar?
basa prasaja
nyetel ing akses wektu
swara redaksional
ndudohake pitakon sing padha hubungan basa model adhedhasar liyane nggambaraké
(I.e. ing kalkulus hubungan declarative)
prosedural
optimisable
Query (siji) â € “”Company
Nompo banjur jeneng lan alamat kabeh karyawan sing bisa kanggo â € ~Researchâ € ™ departemen.
research_dept: = pilih dname = â € ™ Researcgâ € ™ (departemen);
research_dept_emps: = pilih dnumber = dno (pegawe produk research_dept);
algl1: = project fname, lname, alamat (research_dept_emps);
Query (loro) â € “”Company
Kanggo saben proyèk dumunung ing â € ~Staffordâ € ™, dhaptar nomer Project, nomer departemen Ngontrol, Lan departemen managerâ € ™ s pungkasan jeneng, alamat, lan birthdate.
Stafford-_projs: = pilih plocation = â € ™ Staffordâ € ™ (proyèk);
Contr_dept: = pilih dnum-dnumber (departemen produk Stafford_projs);
proj_dept_mgr: = pilih mgrssn = SSN (pegawe produk contr_dept);
alg2: = project pnumber, dnum, lname, alamat, bdate (proj_dept_mgr);
Query (telung) â € “”Company
Golek jeneng karyawan sing bisa ing kabeh Projects kontrol dening departemen nomer 5.
Dept5_projs (pno): = project pnumber (pilih dnum = 5 (proyèk)); emp_proj (SSN, pno): = project essn, pno (works_on); emp_proj_ssns: = project SSN (emp_proj); % Kabeh kemungkinan karyawan nggarap proyèk dept5. Poss_emps_dept5: = (dept5_projs emp_proj_ssns produk); /% Karyawan sing Dona € ™ s karya ing kabèh proyèk-proyèk dept5 .. emps_not_dept5: = project SSN (poss_emps_dept5 prabédan emp_proj); result_emp_ssns: = emp ssns proj prabédan emps_not_dept5; alg3: = project lname, fname (result_emp_ssns njoin pegawe);
Query (papat) â € “”Company
Priksa daftar nomer project kanggo proyek sing ndherek pegawe kang jeneng mburi iku â € ~Smithâ € ™, Salah siji minangka buruh utawa minangka manager saka Departemen sing kontrol project.
Smiths (essn): = project SSN (pilih lname = â € ~Smithâ € ™ (pegawe));
smith_worker_projs: = project pno (works_on njoin Smiths);
mgrs: = project lname, dnumber (pilih SSN = mgrssn (departemen produk pegawe));
smith_mgrs: = selecy lname = â € ™ Smitha € ™ (mgrs);
smith_managed_depts (dnum): = project dnumber (smith_mgrs);
smith_mgr_projs (pno): = project pmumber (smith_managed_depts njoin proyèk);
alg3: = smith_worker_projs smith_mgr_projs Uni;
Query (lima) â € “”Company
Dhaftar jeneng saka kabeh karyawan karo loro utawa luwih Dependents.
% Priksa loro salinan saka karyawan karo dependents.
Empdep1 (essn, depname1): = project essn, dependent_name (gumantung);
empdep2 (essn2, depname2): = empdep1;
& Karyawan karo luwih saka siji gumantung.
Emps_gtone_dep (SSN): = project essn1 (pilih (essn = essn2) lan (depname1 <> depname2) (empdep1 produk empdep2));
alg5: = lname project, fname (pegawe njoin emps) gtone_dep);
Query (enem) – Company
Njupuk jeneng saka karyawan sing ora Dependents.
All_emps: = project SSN (pegawe); Emps_with_deps (SSN): = project essn (gumantung); Emps_without_deps: = (all_emps
emps_with_deps prabédan); Alg6: = project lname, fname
(Emps_without_deps njoin pegawe);
Query (pitu) â € “”Company
Dhaftar jeneng Managers sing duwe paling siji gumantung.
Mgrssn (SSN): = project mgrssn (departemen); Emps_with_deps (SSN): = project essn (gumantung); Mgrs_with_deps: = (mgrssn simpangan emps_with_deps); Alg7: = project lname, fname
(Mgrs_with_deps njoin pegawe);

“——————————————————————————————————————————————————

ಅನುವಾದ ಬೆಂಬಲ: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
ಸಂಬಂಧಿತ ಬೀಜಗಣಿತ
ಒಂದು ಬೀಜಗಣಿತ ಏನು?
ಬೀಜಗಣಿತ (ಅಲ್ ಜೆ-ಬ್ರ್ಯಾಂಡ್) ನಾಮಪದ
ಗಣಿತ
1 ಸಾಮಾನ್ಯೀಕರಣಗೊಳಿಸುತ್ತ ಅಂಕಗಣಿತದ ಚಿಹ್ನೆಗಳು, ಸಾಮಾನ್ಯವಾಗಿ ವರ್ಣಮಾಲೆಯ ಅಕ್ಷರಗಳು, ಸಂಖ್ಯೆಗಳು ಅಥವಾ ಸಂಖ್ಯೆಗಳ ಒಂದು ನಿರ್ದಿಷ್ಟ ಗುಂಪಿನ ಪ್ರತಿನಿಧಿಸುತ್ತವೆ ಮತ್ತು ಸೆಟ್ ಎಲ್ಲಾ ಸಂಖ್ಯೆಗಳು ನಡೆಸುವ ಕಾರ್ಯಾಚರಣೆಗಳಿಗೆ ಸಂಬಂಧಿಸಿದ ಇದರಲ್ಲಿ.
2 ನಿರ್ದಿಷ್ಟ ನಿಯಮಗಳು ಅನುಸರಿಸಲೇಬೇಕು ಎಂದು ಸೆಟ್ ವ್ಯಾಖ್ಯಾನಿಸಲಾಗಿದೆ ಕಾರ್ಯಾಚರಣೆಗಳು ಜೊತೆಗಿದ್ದರು.
3 ಪದಗಳ ಅರಬ್ ಗಣಿತಜ್ಞ ಅಲ್-ಕ್ವಾರಿಜ್ಮಿಯ (ಸುಮಾರು ಕ್ರಿ.ಶ. 900) ಪರಿಚಯಿಸಿದ ಮತ್ತು 1145 ರಲ್ಲಿ ಚೆಸ್ಟರ್ ರಾಬರ್ಟ್ ಲ್ಯಾಟಿನ್ ಹೊತ್ತು ತಂದು.

[ಮಧ್ಯ ಇಂಗ್ಲೀಷ್, ಎರಡೂ ಮಧ್ಯಕಾಲೀನ ಲ್ಯಾಟಿನ್ ಮೂಳೆ ಸೆಟ್ಟಿಂಗ್ ಮತ್ತು ಇಟಾಲಿಯನ್, ಬೀಜಗಣಿತ, ಅರೇಬಿಕ್ ಅಲ್-ಜಬರ್, (ವಿಜ್ಞಾನ) ಒಗ್ಗೂಡಿಸುವ. ಅಲ್ + ಜಬರ್, ಪುನರೇಕೀಕರಣ, ಮೂಳೆ ಸೆಟ್ಟಿಂಗ್]
ಬೀಜಗಣಿತದ ಭಾಷೆಗಳ ಕಂಪ್ಯೂಟಿಂಗ್ ಸಾಮಾನ್ಯವಾಗಿವೆ: ತರ್ಕ ಗೇಟ್ಸ್ ಬೂಲಿಯನ್ ಬೀಜಗಣಿತ; ಡೇಟಾಬೇಸ್ DML ಮತ್ತು ಸಂಬಂಧಿತ ಬೀಜಗಣಿತ.
ಒಂದು ಬೀಜಗಣಿತದ ಮೂಲಭೂತ ಅಂಶಗಳು ಒಂದು ಸೆಟ್ (ಅಂದರೆ ಪರಿಮಾಣ) ಮತ್ತು ಸೆಟ್ ಎಲ್ಲಾ ಅಂಶಗಳನ್ನು ಕಾರ್ಯ ಕಾರ್ಯಾಚರಣೆ (ಅಂದರೆ ನಿರ್ವಾಹಕರು) ಇವೆ.
ಆಪರೇಟರ್ ಗುಣಲಕ್ಷಣಗಳನ್ನು (ಉದಾಹರಣೆಗೆ, ಒಂದು ಪೂರ್ಣಾಂಕ ಸೆಟ್ ಮತ್ತು ಜೊತೆಗೆ ಕಾರ್ಯಾಚರಣೆ ಪರಿಗಣಿಸಲು) ಸೇರಿವೆ: ಸಂಕಲನ ಪೂರ್ಣಾಂಕಗಳ ಮೇಲೆ ಪರಿವರ್ತನೀಯ ಏಕೆಂದರೆ 3 + 4 = 4 + 3 (ಜೊತೆಗೆ (3,4) == ಜೊತೆಗೆ (4,3)); ಮತ್ತು ಜೊತೆಗೆ ರಿಂದ ಪೂರ್ಣಾಂಕಗಳ ಮೇಲೆ ಸಹಾಯಕ ಹೇಳಲಾಗುತ್ತದೆ 3 + (4 + 5) = (3 + 4) + 5 (ಜೊತೆಗೆ (3, ಜೊತೆಗೆ (4,5)) == ಜೊತೆಗೆ (ಜೊತೆಗೆ (3,4), 5 ))).
ರೆಲ್ ಗುಣಲಕ್ಷಣಗಳು. ಬೀಜಗಣಿತ
ಇದು ಮೂಲಕ ಇಡೀ ಸಂಬಂಧಗಳು ಕುಶಲತೆಯಿಂದ
ಕಾರ್ಯಾಚರಣೆಗಳ ಅರ್ಥಕ್ಕೆ unambigous ಸೆಟ್ (ಎಡ್
ಕೊಡ್ 1970).

ಸಂಬಂಧಿತ ಬೀಜಗಣಿತ ನ ಸೆಟ್ ಸಂಬಂಧಿಸಿದಂತೆ ನ
ವಿಸ್ತರಣೆ (tuples, ಸಾಲುಗಳು) ಮತ್ತು ನಿರ್ವಾಹಕರು ಹೊಂದಿವೆ
ಒಂದೋ ಸೆಟ್ ಸೈದ್ಧಾಂತಿಕ ಮೂಲ ಅಥವಾ ಸಂಬಂಧಿಸಿದಂತೆ ಆಧಾರಿತ
ಒಲವು.

ಒಂದು ಸಂಬಂಧಿತ ಬೀಜಗಣಿತದ ಅಭಿವ್ಯಕ್ತಿ ಒಳಹರಿವು ಒಂದು ಹೊಂದಿದೆ
(Unary), ಅಥವಾ ಎರಡು (ಬೈನರಿ), ಸಂಬಂಧಗಳು ಮತ್ತು ಕೆಲವೊಮ್ಮೆ
ಆಯ್ಕೆ ಸ್ಥಿತಿ.
ಅಭಿವ್ಯಕ್ತಿ ಔಟ್ಪುಟ್ ಒಂದು ಸಂಬಂಧಿಸಿದಂತೆ ಹಾಗೆಯೇ.

ಇತರ ಗುಣಲಕ್ಷಣಗಳು:

ಬೀಜಗಣಿತ ನ ನಿರ್ವಾಹಕರು ಸಂಬಂಧಿಸಿದಂತೆ ನ tuples ಎಲ್ಲಾ ಕೆಲಸ;

ಬೀಜಗಣಿತ ಒಂದು ಕಾರ್ಯವಿಧಾನದ ಕಾಂಪ್ಯುಟೇಶನಲ್ ಹೊಂದಿದೆ
ಮಾದರಿ;

ಆದರೆ “”ಟ್ಯೂರಿಂಗ್ ಸಂಪೂರ್ಣ”” ಅಲ್ಲ, ಒಂದು ಬರೆಯಬಹುದು
ಫಾರ್ ಸಂಬಂಧಗಳು ಕುಶಲತೆಯಿಂದ ಎಂದು ಪ್ಯಾಸ್ಕಲ್ ಪ್ರೋಗ್ರಾಂ
ಯಾವುದೇ ಬೀಜಗಣಿತದ ಸಮಾನ ಇಲ್ಲ.

ಆಯ್ದ ಪರಿಸ್ಥಿತಿ ವಿರುದ್ಧ ಮೌಲ್ಯಮಾಪನ ಹೊಂದಿದೆ
ಪ್ರತಿ ಸ್ವತಂತ್ರವಾಗಿ ಟುಪಲ್;

ಒಂದು ಒಂದು ಬೀಜಗಣಿತದ ಕಾರ್ಯಾಚರಣೆಯ ಉತ್ಪನ್ನ
ಪರಿಣಾಮದ ಬೀಜಗಣಿತದ ಸ್ವೀಕಾರಾರ್ಹ ಇನ್ಪುಟ್
ಅಭಿವ್ಯಕ್ತಿ – ಈ ಕರೆಯಲಾಗುತ್ತದೆ ಅಭಿವ್ಯಕ್ತಿ
ಸಂಯೋಜನೆ.

ನಿರ್ವಾಹಕರು: ಒಕ್ಕೂಟ (ಬೈನರಿ)
ಏನು ಒಂದು ಸಂಬಂಧಿತ ಬೀಜಗಣಿತದ ಅಭಿವ್ಯಕ್ತಿಯ ಟೈಪಿಂಗ್ ಮತ್ತು ಅದರ ರೂಪವಾದ ಸಂಬಂಧದ ಬಗ್ಗೆ?
(1) ಎರಡೂ ಸಂಬಂಧಗಳು ಅದೇ ಪದವಿ: – “”ಯೂನಿಯನ್”” ಹೊಂದಾಣಿಕೆ (UC) ಅವಳಿ ಅಭಿವ್ಯಕ್ತಿ ಎರಡು ಸಂಬಂಧಗಳ, ಎರಡು ಭಾಗವಹಿಸಿದ ಸಂಬಂಧಗಳು (operands R1 ಮತ್ತು R2) ಅಭಿವ್ಯಕ್ತಿ ರೀತಿಯ ಸರಿಯಾದ ಕೆಳಗಿನ ರಚನಾತ್ಮಕ ನಿರ್ಬಂಧಗಳನ್ನು ಹೊಂದಿರಬೇಕು ಅಂದರೆ ಎನ್); & 2) ಪ್ರತಿ ಗುಣಲಕ್ಷಣ (1 <= ನಾನು <= ಎನ್), ಡೊಮೇನ್ (R1.Attr_i) = ಡೊಮೇನ್ (R2.Attr_i). ಡೇಟಾ ಪ್ರಕಾರ ಅಭಿವ್ಯಕ್ತಿ ವೇಳೆ ಎರಡು ಸಂಬಂಧಗಳು u.c. ಇವೆ ತದನಂತರ ಪರಿಣಾಮಕ ಸಂಬಂಧವನ್ನು ಸ್ಕೀಮಾ ಆಯ್ಕೆ ಅನಿಯಂತ್ರಿತ ಮೊದಲ ಪರಿಮಾಣ ಆ ಎಂದು ಆಗಿದೆ. ಬೇರೆ … (ಪರಿಮಾಣ ನಿರ್ದಿಷ್ಟ – ಉದಾ ಆಪರೇಟರ್) ಸೆಮ್ಯಾಂಟಿಕ್ಸ್: ಪರಿಣಾಮಕ ಸಂಬಂಧಿಸಿದಂತೆ, ಎರಡೂ ಮೊದಲ ಎರಡನೇ ಅಥವಾ ಎರಡೂ operands ಪ್ರಸ್ತುತ ಎಲ್ಲಾ ಟುಪಲ್ ಹೊಂದಿದೆ.
ಟೈಪ್:
ಪರಿಣಾಮಕ ಸಂಬಂಧಿಸಿದಂತೆ ಸ್ಕೀಮಾ ಮಾದರಿ ಮೊದಲ ಪರಿಮಾಣ ಎರಡೂ ಪರಕರ್ಮ್ಯ ಸಂಬಂಧಗಳು u.c. ವೇಳೆ ಎಂಬುದು
ಅಂಕನ:
R1 ಯು ಆರ್ 2 ಯೂನಿಯನ್ (R1, R2)
ಪರಿವರ್ತನೀಯ ಹೌದು ಸಹಾಯಕ ಹೌದು
ನಿರ್ವಾಹಕರು: ವ್ಯತ್ಯಾಸ (ಬೈನರಿ)
ಶಬ್ದಾರ್ಥ:
ಪರಿಣಾಮಕ ಸಂಬಂಧಿಸಿದಂತೆ ಎರಡನೇ ಪರಿಮಾಣ ಇರುತ್ತವೆ ಪ್ರಥಮ ಪರಿಮಾಣ ಆಫ್ ಆಲ್ ಟಪ್ಲ್ಸ್ ಒಳಗೊಂಡಿದೆ.
ಟೈಪ್:
ಪರಿಣಾಮಕ ಸಂಬಂಧಿಸಿದಂತೆ ಸ್ಕೀಮಾ ಮಾದರಿ ಮೊದಲ ಪರಿಮಾಣ ಎರಡೂ ಪರಕರ್ಮ್ಯ ಸಂಬಂಧಗಳು u.c. ವೇಳೆ ಎಂಬುದು
ಅಂಕನ:
R1 – ಆರ್ 2 ವ್ಯತ್ಯಾಸ (R1, R2)
ಪರಿವರ್ತನೀಯ ಯಾವುದೇ ಸಹಾಯಕ ಯಾವುದೇ
ನಿರ್ವಾಹಕರು: ಆಯ್ಕೆ (unary)
ಶಬ್ದಾರ್ಥ:
ಪರಿಮಾಣ ರಿಂದ ಆಯ್ಕೆಯ ನಿಯಮಗಳು ಹೊಂದುವ ಆಲ್ ಟಪ್ಲ್ಸ್ ಹೊರತೆಗೆಯುವ ಮೂಲಕ ಒಂದು ಹೊಸ ಸಂಬಂಧಿಸಿದಂತೆ ರಚಿಸಿ.
ಟಪ್ಲ್ಸ್:
ಪರಿಣಾಮಕ ಸಂಬಂಧಿಸಿದಂತೆ ಸ್ಕೀಮಾ ಮಾದರಿ ಪರಿಮಾಣ ಸ್ಕೀಮ ಸಮನಾಗಿರುತ್ತದೆ.
ಆಯ್ಕೆ ಸ್ಥಿತಿಯನ್ನು ಕೆಳಗಿನ ರೂಪ ಹೊಂದಿದೆ:
ಹೋಲಿಕೆ ಆಪ್ ಹೆಸರು ಗುಣಲಕ್ಷಣ. ಸ್ಥಿರ ಮೌಲ್ಯ ಅಥವಾ ಗುಣಲಕ್ಷಣದ ಹೆಸರು ಹೋಲಿಕೆ ಆಪ್. ಗುಣಲಕ್ಷಣದ ಹೆಸರು
ಆಯ್ಕೆ ಪರಿಸ್ಥಿತಿಗಳ ಸರಣಿ ಆಯ್ದ CONDITION1 ಮತ್ತು ಪರಿಸ್ಥಿತಿ 2 ಆಯ್ದ ಅಥವಾ ಪರಿಸ್ಥಿತಿ 1 ಆಯ್ಕೆ ಅಥವಾ ಪರಿಸ್ಥಿತಿ 2 ಆಯ್ದ ಮಾಹಿತಿ ಕಂಬೈನ್ಡ್ ಎಂದು
ಆದೇಶ ಕ್ಷೇತ್ರಗಳಲ್ಲಿ ಕೆಲವು ವಿಶಿಷ್ಟ ಹೋಲಿಕೆ ನಿರ್ವಾಹಕರು>, <==! = ಇತ್ಯಾದಿ
ಅಂಕನ:
(ಆಯ್ದ ಸ್ಥಿತಿ) R1 ಆಯ್ಕೆ (R1, ಆಯ್ಕೆ ಸ್ಥಿತಿ)
ಸೂಚನೆ:
ಪರಿಣಾಮಕ ಪರಕರ್ಮ್ಯ ಉಪವಿಭಾಗ!

ಪರಿವರ್ತನೀಯ ಹೌದು ಸಹಾಯಕ ಹೌದು
ಸಂಬಂಧಿತ ಬೀಜಗಣಿತ: ಆಪರೇಟರ್ಸ್: ಉತ್ಪನ್ನ (ಬೈನರಿ)
ಶಬ್ದಾರ್ಥ:
ಒಂದು ಕಾರ್ಟೀಸಿಯನ್ ಉತ್ಪನ್ನ ಪಾಲಿಸಲು ಮೂಲಕ ಹೊಸ ಸಂಬಂಧಿಸಿದಂತೆ ರಚಿಸಿ
ಎರಡು operands ಆಫ್.
(ಒಂದು ವೇಳೆ R1 ಮತ್ತು R2 ಅನ್ನು ಆಫ್ cardinalities 60000 500 ಇವೆ
ಕ್ರಮವಾಗಿ ತಮ್ಮ ಉತ್ಪನ್ನದ cardinality 60000 * 500 = ಆಗಿದೆ
3,000,000!)

ಟೈಪ್:
operands ಯಾವುದೇ ಸಂಬಂಧಗಳು ಸ್ಕೀಮಾ ಹೊಂದಬಹುದು. ಪರಿಣಾಮಕ ಸಂಬಂಧಿಸಿದಂತೆ ಸ್ಕೀಮಾ ಪರಿಮಾಣ ಸಂಬಂಧ ಸ್ಕೀಮಾ ಜೋಡಣೆಯನ್ನು ಸಮನಾಗಿರುತ್ತದೆ.
ಅಂಕನ:
ಈ ಅತ್ಯಂತ ಲೆಕ್ಕಾಚಾರದ ದುಬಾರಿ
ಕಾರ್ಯಾಚರಣೆ!
ಅಲ್ಲದೆ, ಪರಿಣಾಮಕ ವಿಸ್ತರಣೆ ಸಾಮಾನ್ಯವಾಗಿ ಅರ್ಥಪೂರ್ಣವಾಗಿದೆ !!

ಪರಿವರ್ತನೀಯ ಹೌದು
ಸಹಾಯಕ ಹೌದು

ನಿರ್ವಾಹಕರು: ಪ್ರೊಜೆಕ್ಷನ್ (unary)
ಶಬ್ದಾರ್ಥ:
ಪರಿಮಾಣ ತೆಗೆದು ಮೂಲಕ ಹೊಸ ಸಂಬಂಧಿಸಿದಂತೆ ರಚಿಸಿ ಎಲ್ಲಾ ಲಕ್ಷಣಗಳು (ಮತ್ತು ಅದರ ಪರಿಣಾಮವಾಗಿ ಅವುಗಳ ಮೌಲ್ಯಗಳು) ಪ್ರೊಜೆಕ್ಷನ್ ಅಭಿವ್ಯಕ್ತಿ ಪ್ರಸ್ತಾಪಿಸಿದ್ದಾರೆ ಎಂದು.
ಟೈಪ್:
ಪರಿಣಾಮಕ ಸ್ಕೀಮಾ ಮಾದರಿ ಪರಿಮಾಣ ಸ್ಕೀಮ ಆದರೆ ಗುಣಲಕ್ಷಣ ಪಟ್ಟಿಯಲ್ಲಿ ಉಲ್ಲೇಖಿಸಲಾಗಿದೆ ಲಕ್ಷಣಗಳು ಹೊರತುಪಡಿಸಿ ಸಮನಾಗಿರುತ್ತದೆ.
ಅಂಕನ:
(Attr … X1, …, attr_xn) ಯೋಜನೆಯು (R1, attr_x1, …, attr_xn)
ಸೂಚನೆ:
ನಕಲು ಮೌಲ್ಯಗಳು ಸೂಚ್ಯವಾಗಿ ತೆಗೆದುಹಾಕಲಾಗುತ್ತದೆ!
ಮತ್ತಷ್ಟು ಟಿಪ್ಪಣಿಗಳು:
ಯೋಜನೆಗಳ ಒಂದು ದಾರದೊಂದಿಗೆ ಒಂದು ಬೀಜಗಣಿತದ ಅಭಿವ್ಯಕ್ತಿ ನಾವು ಎರಡು ವಿಷಯಗಳನ್ನು ನಡೆಯುತ್ತಿರುವ – ಮರುನಿರ್ಮಾಣ ಮತ್ತು ಮರು ವಿಸ್ತರಿಸುವ !! ಕೆಲವು ಬೀಜಗಣಿತದ ಬದಲಾವಣೆಗಳು ಒಂದು ಈ ನಿರ್ಬಂಧಗಳು ಜಯಿಸಲು ಮಾಡಬಹುದು.
(ಸಾಧಾರಣವಾಗಿ) ಯಾವುದೇ ಸಹಾಯಕ (ಸಾಮಾನ್ಯವಾಗಿ) ಯಾವುದೇ ಪರಿವರ್ತನೀಯ
ನಿರ್ವಾಹಕರು ಕನಿಷ್ಠ ಸೆಟ್
ಇದು ತೋರಿಸಬಹುದು ಮಂಡಿಸಿದರು ನಿರ್ವಾಹಕರು (ನಿರ್ದಿಷ್ಟವಾಗಿ ಆಯ್ದ, ಯೋಜನೆಯ, ಒಕ್ಕೂಟ, ವ್ಯತ್ಯಾಸ ಮತ್ತು ಉತ್ಪನ್ನ) ಉಪವಿಭಾಗ (ಛೇದಕ ಇತ್ಯಾದಿ ಉದಾಹರಣೆಗೆ ಸೇರಲು) ಇತರ ನಿರ್ವಾಹಕರು ವಿವರಿಸಲು ಸಾಕಷ್ಟು, ಅಥವಾ ಸಂಪೂರ್ಣ ಎಂದು.
ಸಂಪೂರ್ಣ ಸೆಟ್ ನಿರ್ವಾಹಕರು ವಿಶೇಷ ಬಳಕೆಯ ಅತ್ಯಂತ ಬಗ್ಗದ ಕೆಲವು ನೈಸರ್ಗಿಕ ಬೀಜಗಣಿತದ ಅಭಿವ್ಯಕ್ತಿಗಳು ಓದುವ ಮಾಡಲು!
ಉದಾಹರಣೆಗೆ, ಛೇದಕ ಆಯೋಜಕರು ಈ ರೂಪ ಹೊಂದಿದೆ:
INTERSECTION (R1, R2)
ವ್ಯತ್ಯಾಸ (ಯೂನಿಯನ್ (R1, R2), ಯೂನಿಯನ್ (ವ್ಯತ್ಯಾಸ (R1, R2), (ವ್ಯತ್ಯಾಸ (R2 ಅನ್ನು ಕೂಡ R1))) ಸಮನಾಗಿರುತ್ತದೆ
ಅಥವಾ ಸಮನಾಗಿರುತ್ತದೆ
ವ್ಯತ್ಯಾಸ (R1, ವ್ಯತ್ಯಾಸ (R1, R2))
ಏಕೆ ಒಂದು ಬೀಜಗಣಿತ?
ಸರಳ ಭಾಷೆ
ಒಂದು ಸಮಯ ಪ್ರವೇಶವನ್ನು ಸೆಟ್
ಅರ್ಥಕ್ಕೆ ಧ್ವನಿ
ಇನ್ನೊಂದು ಸಂಬಂಧಿತ ಮಾದರಿ ಆಧಾರಿತ ಭಾಷೆ ವಿವರಿಸುವ ಅದೇ ಪ್ರಶ್ನೆಗಳು ವ್ಯಕ್ತಪಡಿಸುತ್ತಾನೆ
(ಅಂದರೆ ಘೋಷಣಾತ್ಮಕ ಸಂಬಂಧಾತ್ಮಕ ಕಲನಶಾಸ್ತ್ರ)
ಕಾರ್ಯವಿಧಾನದ
optimisable
ಪ್ರಶ್ನೆಗೆ (ಒಂದು) € “”ಕಂಪನಿ
ನಂತರ ಹೆಸರು ಮತ್ತು € ~Researchâ € ™ ಇಲಾಖೆ ಕೆಲಸ ಮಾಡುವ ನೌಕರರು ವಿಳಾಸವನ್ನು ಹಿಂಪಡೆಯಲು.
research_dept: = ಆಯ್ದ dname = € ™ Researcgâ € ™ (ಇಲಾಖೆ) ಎ;
research_dept_emps: = dnumber ಆಯ್ದ = dno (research_dept ಉತ್ಪನ್ನ ನೌಕರ);
algl1: = ಯೋಜನೆಯ fname, lname, ವಿಳಾಸ (research_dept_emps);
ಪ್ರಶ್ನೆಗೆ (ಎರಡು) € “”ಕಂಪನಿ
ಒಂದು € ~Staffordâ € ™ ಇದೆ ಪ್ರತಿ ಯೋಜನೆಗೆ, ಪ್ರಾಜೆಕ್ಟ್ ಸಂಖ್ಯೆ ನಿಯಂತ್ರಿಸುವ ಇಲಾಖೆ ಸಂಖ್ಯೆ, ಮತ್ತು ಇಲಾಖೆ managerâ € ™ ರು ಕೊನೆಯ ಹೆಸರು, ವಿಳಾಸ, ಮತ್ತು ಜನ್ಮದಿನಾಂಕ ಪಟ್ಟಿ.
ಸ್ಟಾಫರ್ಡ್-_projs: = ಆಯ್ದ plocation = ಒಂದು € ™ Staffordâ € ™ (ಯೋಜನೆಗಳು);
Contr_dept: = ಆಯ್ದ dnum-dnumber (Stafford_projs ಉತ್ಪನ್ನ ವಿಭಾಗದ);
proj_dept_mgr: = mgrssn ಆಯ್ದ = ಎಸ್ಎಸ್ಎನ್ (contr_dept ಉತ್ಪನ್ನ ನೌಕರ);
alg2: = ಯೋಜನೆಯ pnumber, dnum, lname, ವಿಳಾಸ, bdate (proj_dept_mgr);
ಪ್ರಶ್ನೆಗೆ (ಮೂರು) € “”ಕಂಪನಿ
ಇಲಾಖೆ ಸಂಖ್ಯೆ 5 ನಿಯಂತ್ರಿಸಲ್ಪಡುತ್ತದೆ ಎಲ್ಲಾ ಯೋಜನೆಗಳಲ್ಲಿ ಕೆಲಸ ಮಾಡುವ ನೌಕರರಿಗೆ ಹೆಸರುಗಳು ಕ್ಲಿಕ್.
Dept5_projs (PNO): = ಯೋಜನೆಯ pnumber (= 5 (ಯೋಜನೆಗಳು dnum ಆಯ್ಕೆ)); emp_proj (ಎಸ್ಎಸ್ಎನ್, PNO): = ಯೋಜನೆಯ essn, PNO (works_on); emp_proj_ssns: = ಯೋಜನೆಯ ಎಸ್ಎಸ್ಎನ್ (emp_proj); % Dept5 ಯೋಜನೆಗಳಲ್ಲಿ ಕೆಲಸ ಎಲ್ಲಾ ಸಾಧ್ಯತೆಗಳನ್ನು ನೌಕರರು. ; Poss_emps_dept5 ಎಲ್ಲಾ dept5 ಯೋಜನೆಗಳು .. emps_not_dept5 ಮೇಲೆ ಡೊನಾ ಎಂದು € ™ ರು ಕೆಲಸ /% ನೌಕರರು = (ಉತ್ಪನ್ನ emp_proj_ssns dept5_projs): = ಯೋಜನೆಯ ಎಸ್ಎಸ್ಎನ್ (poss_emps_dept5 ವ್ಯತ್ಯಾಸ emp_proj); result_emp_ssns: = ಕಂಪನ ತೋರಿದ ssns ವ್ಯತ್ಯಾಸ emps_not_dept5; alg3: = ಯೋಜನೆಯ lname, fname (result_emp_ssns ಉದ್ಯೋಗಿ njoin);
ಪ್ರಶ್ನೆಗೆ (ನಾಲ್ಕು) € “”ಕಂಪನಿ
ಒಂದು ಕೆಲಸಗಾರ ಅಥವಾ ಯೋಜನೆಯ ನಿಯಂತ್ರಿಸುವ ಇಲಾಖೆ ನಿರ್ವಾಹಕರಾಗಿ ಒಂದೋ, ಕೊನೆಯ ಹೆಸರು € ~Smithâ € ™ ಎ ನೌಕರ ಒಳಗೊಂಡ ಯೋಜನೆಗಳಿಗಾಗಿ ಯೋಜನಾ ಸಂಖ್ಯೆಗಳ ಪಟ್ಟಿಯನ್ನು ಮಾಡಿ.
ಸ್ಮಿತ್ಸ್ (essn): = ಯೋಜನೆಯ ಎಸ್ಎಸ್ಎನ್ (lname ಆಯ್ಕೆ = ಒಂದು € ~Smithâ € ™ (ನೌಕರ));
smith_worker_projs: = ಯೋಜನೆಯ PNO (works_on njoin ಕಮ್ಮಾರರು);
mgrs: = ಯೋಜನೆಯ lname, dnumber (ಆಯ್ದ ಎಸ್ಎಸ್ಎನ್ = mgrssn (ಉದ್ಯೋಗಿ ಉತ್ಪನ್ನ ವಿಭಾಗದ));
smith_mgrs: = selecy lname = € ™ ಒಂದು ಸ್ಮಿತಾ € ™ (mgrs);
smith_managed_depts (dnum): = ಯೋಜನೆಯ dnumber (smith_mgrs);
smith_mgr_projs (PNO): = ಯೋಜನೆಯ pmumber (ಯೋಜನೆಗಳು njoin smith_managed_depts);
alg3: = smith_worker_projs ಒಕ್ಕೂಟ smith_mgr_projs;
ಪ್ರಶ್ನೆಗೆ (ಐದು) € “”ಕಂಪನಿ
ಎರಡು ಅಥವಾ ಹೆಚ್ಚು ಅವಲಂಬಿತರು ಎಲ್ಲಾ ನೌಕರರ ಹೆಸರುಗಳು ಪಟ್ಟಿ.
% ಅವಲಂಬಿತರು ನೌಕರರು ಎರಡು ಪ್ರತಿಗಳನ್ನು ಮಾಡಿ.
Empdep1 (essn, depname1): = ಯೋಜನೆಯ essn, dependent_name (ಪರಾಧೀನ);
empdep2 (essn2, depname2): = empdep1;
ಒಂದಕ್ಕಿಂತ ಹೆಚ್ಚು ಅವಲಂಬಿತ ಜೊತೆ & ನೌಕರರು.
Emps_gtone_dep (ಎಸ್ಎಸ್ಎನ್): = ಯೋಜನೆಯ essn1 (ಆಯ್ಕೆ (essn = essn2) ಮತ್ತು (depname1 <> depname2) (empdep1 ಉತ್ಪನ್ನ empdep2));
alg5: = ಯೋಜನೆಯ lname, fname (emps njoin ನೌಕರ) gtone_dep);
ಪ್ರಶ್ನೆಗೆ (ಆರು) – ಕಂಪನಿ
ಯಾವುದೇ ಅವಲಂಬಿತರು ಹೊಂದಿರುವ ನೌಕರರ ಹೆಸರುಗಳು ಹಿಂಪಡೆಯಲು.
All_emps: = ಯೋಜನೆಯ ಎಸ್ಎಸ್ಎನ್ (ನೌಕರ); Emps_with_deps (ಎಸ್ಎಸ್ಎನ್): = ಯೋಜನೆಯ essn (ಪರಾಧೀನ); Emps_without_deps: = (all_emps
ವ್ಯತ್ಯಾಸ emps_with_deps); Alg6: = ಯೋಜನೆಯ lname, fname
(Emps_without_deps ಉದ್ಯೋಗಿ njoin);
ಪ್ರಶ್ನೆಗೆ (ಏಳು) € “”ಕಂಪನಿ
ಕನಿಷ್ಠ ಒಂದು ಅವಲಂಬಿತವಾಗಿರುತ್ತದೆ ಯಾರು ನಿರ್ವಾಹಕರು ಹೆಸರುಗಳು ಪಟ್ಟಿ.
Mgrssn (ಎಸ್ಎಸ್ಎನ್): = ಯೋಜನೆಯ mgrssn (ಇಲಾಖೆ); Emps_with_deps (ಎಸ್ಎಸ್ಎನ್): = ಯೋಜನೆಯ essn (ಪರಾಧೀನ); Mgrs_with_deps: = (mgrssn emps_with_deps ಅಡ್ಡಹಾಯ್ದು); Alg7: = ಯೋಜನೆಯ lname, fname
(Mgrs_with_deps ಉದ್ಯೋಗಿ njoin);

“——————————————————————————————————————————————————

Қолдау аударма: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
реляциялық алгебра
алгебра не?
алгебра (әл-Je-BRE) зат
математика
1 рәміздер, алфавитінің әдетте әріптер, сандар, нақты жиынтығы нөмірлерін немесе мүшелерін білдіретін және жиынындағы барлық нөмірлері үшін басып, ұстап тұрыңыз операциялармен байланысты онда арифметикалық қорыту.
2 Көрсетілген заңдарына мойынсұнуға жиынтығы айқындалған операцияларды бірге орнатыңыз.
3 Word (900 А.Д. шамамен) Араб математигі әл-Хорезми енгізген және 1145 Честер Роберт латын тіліне астам әкелді.

[Орта ағылшын, сүйек-параметр және итальян, алгебра, біріктіру араб әл-жәбр (ғылым) бастап, ортағасырлық латын екі:. Әл + жәбр, қосылу, сүйек-параметрді]
Алгебралық тілдері есептеу ортақ болып табылады: логикалық қақпасы үшін Boolean алгебра; және дерекқор DML үшін Қатыстық алгебра.
Алгебра негізгі ингредиенттер жиынтығы барлық элементтерінің әрекет жиынтығы (яғни операнд) және операциялар (яғни операторлар) болып табылады.
Оператор қасиеттері (мысалы, бүтін жиынтығы және қосымша операцияны қарастыру) мыналарды қамтиды: қосымша (плюс (3,4) == плюс (4,3)) 3 + 4 = 4 + 3 жылдан бері бүтін астам коммутативті болып табылады; мен толықтыру 5 (плюс (3, плюс (4,5)) == плюс (плюс (3,4), 5 + (+ 4 3) = 3 + (4 + 5), өйткені бүтін астам ассоциативті деп аталады ))).
Салыс сипаттамасы. алгебра
Ол арқылы бүкіл қарым-қатынас айлалы
операцияларды семантикалық unambigous жиынтығы (Ed
Кодд 1970).

Реляциялық алгебра ның жиынтығы қатынасы компаниясының табылады
ұзарту (луын, жолдар) және операторлары қойды
жиынтығы теориялық шығу немесе қатынасы бағдарланған, не
пайдасына.

А реляциялық алгебралық өрнек енгізулер бірі ретінде бар
(Біреу), немесе екі (екілік), қарым-қатынас және кейде
таңдау жағдайы.
өрнек шығыс бір қатынасы болғанымен.

Өзге де сипаттамасы:

қатынастар жиынтығын барлық алгебра компаниясының операторлары жұмыс;

алгебра рәсімдік есептеу бар
моделі;

Бірақ ол бір жаза алады, «Тьюринг аяқтау» емес
арналған қарым-қатынас айлалы Паскаль бағдарламасы
онда ешқандай алгебралық баламалы бар.

Іріктеу шарты қарсы бағаланады бар
Әрбір дербес кортеж;

алгебралық операция шығару болып табылады
салдары алгебралық қолайлы кіріс
өрнек – бұл өрнек деп аталады
құрамы.

Операторлар: Union (екілік)
Қандай атысты алгебралық өрнек және оның алынған қатысты типтеу ше?
бинарлық білдіру үшін екі қатынастар, екі қатысушы қарым-қатынастардың (операндтар – R1 және R2) «одақ» үйлесімділік (UC) түрі дұрыс білдіру үшін мынадай құрылымдық шектеулерді болуы тиіс: 1) екі қарым-қатынас бірдей дәрежесі бар ( яғни N); & 2) әрбір атрибуты (1 <= I = N <) үшін, домен (R1.Attr_i) домендік (R2.Attr_i) =. Өрнекті компаниясының деректер түрін екі қарым-қатынас u.c. болса THEN нәтижелендіруші қатынас схемасы алғашқы операндоға осы болуға ерікті таңдалады. ELSE … (операнд нақты – мысалы өнім оператор) семантикасы: Алынған қатынасы, бірінші, екінші немесе екеуі операндтар немесе осы барлық қойылуы бар.
теру:
екеуі операнд қарым-қатынастар u.c. егер алынған қатынасы схемасының түрі бірінші операнд болып табылады
Notation:
R1 R2 U UNION (R1, R2)
коммутативті ИӘ ассоциативті ИӘ
Операторлар: айырмашылық (екілік)
семантикасы:
Алынған қатынасы екінші операнд ұсынуға емес, ең алдымен операндоға барлық кортежи кіреді.
теру:
екеуі операнд қарым-қатынастар u.c. егер алынған қатынасы схемасының түрі бірінші операнд болып табылады
Notation:
R1 – R2 деуінің (R1, R2)
коммутативті NO ассоциативті NO
Операторлар: таңдау (Унарные)
семантикасы:
операндоға жылғы іріктеу шарттарын қанағаттандыратын барлық кортежи өндіруші жаңа қатысы жасаңыз.
М ндер жолы:
Алынған қатынасы схемасының түрі операнд схемасы балама болып табылады.
Таңдау жағдайы мынадай түрі бар:
аты салыстыру OP төлсипаты. Тұрақты мән немесе атрибут атауын салыстыру OP. аты төлсипаты
Таңдау жағдай сериясы тармағын таңдаңыз условие1 сияқты аралас ЖӘНЕ condition2 таңдаңыз немесе условие1 немесе таңдаңыз condition2 параметрін таңдаңыз болуы мүмкін
тапсырыс домендер> қамтиды, <, ==,! =, т.б. Кейбір типтік салыстыру операторлары
Notation:
(Жағдайды таңдаңыз) R1 SELECT (R1, іріктеу шарты)
Ескерту:
Алынған операндоға подмножество болып табылады!

коммутативті ИӘ ассоциативті ИӘ
Реляциялық алгебра: операторлары: Өнім (екілік)
семантикасы:
бір декарттық өнімді орындау арқылы жаңа қатысы жасау
екі операндтар.
(R1 және R2 қуаты 60000 және 500 болса
тиісінше, олардың өнімнің ш = * 500 60000 табылады
3.000.000!)

теру:
операнд кез келген қатынас схемасы болуы мүмкін. Алынған қатынас схемасы операнд қарым-қатынасын схемасының каскадирования тең.
Notation:
Бұл өте қымбат болып табылады есептеу
операция!
Сондай-ақ, алынған ұзарту әдетте мағыналы емес, !!

Иә коммутативті
ассоциативті Иә

Операторлар: проекциялық (Унарные)
семантикасы:
операндоға бастап проекциялық өрнекте аталмаған барлық атрибуттары (және, демек, олардың мәндерін) алып тастау арқылы жаңа қатысы жасаңыз.
теру:
Алынған схемасының түрі операнд схемасы балама болып табылады, бірақ атрибут тізімде көрсетілмеген атрибуттары қоспағанда.
Notation:
(Attr … x1, …, attr_xn) жобалау (R1, attr_x1, …, attr_xn)
Ескерту:
Қайталанатын мәндер жанама жойылады!
Әрі қарай Ескертулер:
жобалар жолы бар алгебралық өрнектің біз жүріп екі нәрсе бар – қайта құрылымдау және қайта ұзарту !! белгілі бір алгебралық айла бір осы шектеулерді еңсеруге болады.
(Жалпы алғанда) коммутативті (жалпы алғанда) Жоқ ассоциативті жоқ,
операторларының ең төменгі жиынтығы
Ол (және т.б. қиылысу, қосылуға мысалы) басқа операторларды сипаттау, ұсынылған операторлар (арнайы тармағын таңдаңыз, жоба, кәсіподақ, айырмашылық және өнім) подмножество барабар, немесе толық екенін көрсетті болады.
толық жинағынан операторларының эксклюзивті пайдалану өте айнымас кейбір табиғи алгебралық өрнектерді оқу жасауға!
Мысалы, қиылысу оператор осы түрі бар:
Қиылысуы (R1, R2)
Деуінің (одағы (R1, R2), UNION (айырм (R1, R2), (айырм (R2, R1))) тең
немесе баламалы
Деуінің (R1, деуінің (R1, R2))
Неге алгебра?
Қарапайым тілі
уақыт қол орнату
семантикалық дыбыс
басқа реляциялық моделі негізінде тілдік сипаттайды сол сұраулар білдіреді
(Яғни декларативтік реляциялық есептеу)
процедуралық
optimisable
€ «компаниясы Query (бір)
Содан кейін € ~Researchâ € ™ бөлімінің жұмыс істеп жатқан барлық қызметкерлердің аты-жөні мен мекен-жайын шығарып алыңыз.
research_dept: = опциясын таңдаңыз dname = € ™ Researcgâ € ™ (бөлімі) А;
research_dept_emps: = опциясын таңдаңыз dnumber = DNO (research_dept өнім қызметкері);
algl1: = Жоба FName, lname, мекен-жайы (research_dept_emps);
€ «компаниясы Query (екі)
â € € ~Staffordâ ™ орналасқан әрбір жоба үшін, жоба нөмірі, бақылау бөлімі нөмірін және кафедра managerâ € ™ тегі, мекен-жайы, және туған күніңізді тізіп.
Стаффорд-_projs: = опциясын таңдаңыз plocation = € ™ Staffordâ € ™ (жоба) А;
Contr_dept: = тармағын таңдаңыз dnum-dnumber (Stafford_projs өнім бөлімі);
proj_dept_mgr: = опциясын таңдаңыз mgrssn = SSN (contr_dept өнім қызметкері);
alg2: = Жоба pnumber, dnum, lname, мекен-жайы, bdate (proj_dept_mgr);
€ «компаниясы Query (үш)
Кафедра саны 5 бақыланатын барлық жобалар бойынша жұмыс істейтін қызметкерлерге аттары табыңыз.
Dept5_projs (pno): = Жоба pnumber (= 5 (жобаларды) dnum таңдаңыз); emp_proj (SSN, pno): = Жоба essn, pno (works_on); emp_proj_ssns: = Жоба SSN (emp_proj); % Dept5 жобалар бойынша жұмыс істейтін қызметкерлердің барлық мүмкіндіктері. Poss_emps_dept5: = (өнім emp_proj_ssns dept5_projs); барлық dept5 жобалар бойынша Donâ € ™ жұмысы /% Қызметкерлер .. emps_not_dept5: = Жоба SSN (poss_emps_dept5 айырмашылық emp_proj); result_emp_ssns: = ҚОҚЖ жылжыту ssns айырмашылық emps_not_dept5; alg3: = Жоба lname, FName (қызметкердің njoin result_emp_ssns);
€ «компаниясы Query (төрт)
тегі жұмысшы ретінде немесе жобаны бақылайды департаментінің менеджері ретінде, € € ~Smithâ ™ болып табылады қызметкерін тарту жобалар үшін жобалық нөмірлерінің тізімін жасаңыз.
Smiths (essn): = Жоба SSN (lname тармағын таңдаңыз = А € ~Smithâ € ™ (қызметкері));
smith_worker_projs: = Жоба pno (Smiths njoin works_on);
МГСУ: = Жоба lname, dnumber (SSN = mgrssn (қызметкер өнім бөлімі) таңдаңыз);
smith_mgrs: = selecy lname = € ™ Smithâ € ™ (МГСУ) А;
smith_managed_depts (dnum): = Жоба dnumber (smith_mgrs);
smith_mgr_projs (pno): = Жоба pmumber (жобалардың njoin smith_managed_depts);
alg3: = smith_worker_projs одағы smith_mgr_projs;
€ «компаниясы Query (бес)
Екі немесе одан да көп асырауындағы барлық қызметкерлердің атауларын атаңыз.
% Асырауындағы қызметкерлердің екі көшірмесін жасаңыз.
Empdep1 (essn, depname1): = Жоба essn, dependent_name (тәуелді);
empdep2 (essn2, depname2): = empdep1;
& Тәуелді ден астам бірі қызметкерлерді.
Emps_gtone_dep (SSN): = Жоба essn1 (таңдау (essn = essn2) және (depname1 <> depname2) (empdep1 өнім empdep2));
alg5: = Жоба lname, FName (ҚОБЖ njoin қызметкері) gtone_dep);
Query (алты) – Қоғам
жоқ асырауындағы бар қызметкерлер атауларын шығарып алыңыз.
All_emps: = Жоба SSN (қызметкері); Emps_with_deps (SSN): = Жоба essn (тәуелді); Emps_without_deps: = (all_emps
Айырмашылық emps_with_deps); Alg6: = Жоба lname, FName
(Njoin қызметкерді emps_without_deps);
€ «компаниясы Query (жеті)
тәуелді кем дегенде бір бар менеджерлер атаулар тізімі.
Mgrssn (SSN): = Жоба mgrssn (бөлімі); Emps_with_deps (SSN): = Жоба essn (тәуелді); Mgrs_with_deps: = (emps_with_deps қиылысады mgrssn); Alg7: = Жоба lname, FName
(Қызметкердің njoin mgrs_with_deps);

“——————————————————————————————————————————————————

ការបកប្រែការគាំទ្រ: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
ទំនាក់ទំនងពិជគណិត
ពិជគណិតជាអ្វី?
ពិជគណិត (Al-je-bre) នាម
គណិតវិទ្យា
1 ការបង្កើតនិមិត្តសញ្ញានព្វន្ធនៅក្នុងការដែល, ជាធម្មតាអក្សរនៃអក្ខរក្រមនេះតំណាងឱ្យលេខឬសមាជិកនៃសំណុំជាក់លាក់នៃលេខនិងទាក់ទងគ្នាតាមប្រតិបត្ដិការដែលកាន់សម្រាប់លេខទាំងអស់នៅក្នុងសំណុំ។
2 កំណត់រួមជាមួយនឹងការប្រតិបត្តិការដែលបានកំណត់ក្នុងសំណុំដែលប្រតិបត្តិតាមច្បាប់ដែលបានបញ្ជាក់នោះទេ។
3 ពាក្យដែលបានណែនាំដោយគណិតវិទូអារ៉ាប់ Al-Khwarizmi (ប្រហែលឆ្នាំ 900 គ) និងបាននាំចូលទៅក្នុងដោយលោក Robert របស់ឡាទីននៅ 1145 Chester ។

[អង់គ្លេសមជ្ឈិម, ឆ្អឹងនិងអ៊ីតាលីពិជគណិតការកំណត់, ទាំងពីរពីបន្តបន្ទាប់នាមជ្ឈិមសម័យឡាទីនពីអាល់ jabr អារ៉ាប់, (វិទ្យាសាស្រ្តនៃការ) reuniting: ។ អាល់, បាន + jabr, ការបង្រួបបង្រួម, ឆ្អឹងកំណត់]
ភាសាពិជគណិតគឺជារឿងធម្មតានៅក្នុងការគណនា: ពិជគណិតប៊ូលីនសម្រាប់ច្រកទ្វារតក្ក; និងទំនាក់ទំនងសម្រាប់ DML ពិជគណិតមូលដ្ឋានទិន្នន័យ។
គ្រឿងផ្សំមូលដ្ឋាននៃពិជគណិតមួយដែលត្រូវបានកំណត់មួយ (សញ្ញាប្រមាណវិធីឧទាហរណ៍) និងប្រតិបត្ដិការ (ប្រតិបត្តិករឧទាហរណ៍) ដែលធ្វើសកម្មភាពនៅលើធាតុទាំងអស់នៃសំណុំនេះ។
លក្ខណៈសម្បត្តិនិងការប្រតិបត្តិការ (ឧទាហរណ៍ពិចារណាគត់កំណត់និងការប្រតិបត្ដិការបន្ថែម) រួមមាន: លើសពីនេះទៀតគឺប្តូរចំនួនគត់ចាប់តាំងពីជាង 3 + 4 = 4 +3 (បូក (3,4) == បូក (4,3)); ហើយលើសពីនេះទៀតត្រូវបានគេនិយាយថានឹងសមាគមចំនួនគត់ចាប់តាំងពីជាង 3 + (4 + + 5) = (3 + 4) + + 5 (បូក (3 បូក (4,5)) == បូក (បូក (3,4), 5 ))) ។
លក្ខណៈនៃ rel នេះ។ ពិជគណិត
វារៀបចំតាមរយៈការទំនាក់ទំនងទាំងមូល
សំណុំ unambigous នៃប្រតិបត្តិការ semantic (លោក Ed
Codd ឆ្នាំ 1970) ។

កំណត់ពិជគណិតទំនាក់ទំនងនេះគឺមានទំនាក់ទំនងរបស់
ផ្នែកបន្ថែម (tuple ជួរដេក) និងប្រតិបត្តិករមាន
ទាំងប្រភពដើមទ្រឹស្តីការកំណត់ឬការទំនាក់ទំនងតម្រង់ទិស
អនុគ្រោះ។

កន្សោមពិជគណិតទំនាក់ទំនងមានដូចជាធាតុចូលមួយ
(ប្រមាណវិធីមួយអង្គ) ឬពីរ (គោលពីរ), ការទំនាក់ទំនងនិងពេលខ្លះមួយ
ស្ថានភាពជ្រើសរើស។
ខណៈពេលដែលទិន្នផលការបញ្ចេញមតិដែលជាការទំនាក់ទំនងតែមួយ។

លក្ខណៈផ្សេងទៀត:

ប្រតិបត្តិករពិជគណិតនេះធ្វើការនៅលើទាំងអស់នៃ tuple ទំនាក់ទំនងរបស់;

ពិជគណិតនេះមានកុំព្យូទ័រនីតិវិធី
គំរូ;

ប៉ុន្តែវាមិនមែនជា “”្ពពេញលេញ””, មួយអាចសរសេរ
លោក Pascal ដែលរៀបចំកម្មវិធីសម្រាប់ការទំនាក់ទំនង
ដែលមិនមានស្មើនឹងពិជគណិត។

ស្ថានភាពជ្រើសមួយដែលមានត្រូវបានវាយតម្លៃប្រឆាំងនឹង
ជារៀងរាល់ tuple ឯករាជ្យ;

ទិន្នផលនៃប្រតិបត្ដិការពិជគណិតនេះគឺជាការ
បញ្ចូលអាចទទួលយកបានទៅជាផលវិបាពិជគណិត
ការបញ្ចេញមតិ – នេះការបញ្ចេញមតិត្រូវបានគេហៅថា
ការតែងនិពន្ធ។

ប្រតិបត្តិករ: សហភាព (គោលពីរ)
តើមានអ្វីអំពីប្រភេទនៃកន្សោមពិជគណិតទំនាក់ទំនងនិងទំនាក់ទំនងលទ្ធផលរបស់ខ្លួន?
“”សហជីព”” ភាពឆបគ្នា (UC) ចំនួនពីរនាក់ដែលទាក់ទងចំពោះការបញ្ចេញមតិគោលពីរទំនាក់ទំនងពីរដែលចូលរួម (អង្គ – R1 និង R2) ត្រូវមានឧបសគ្គរចនាសម្ព័ន្ធដូចខាងក្រោមសម្រាប់ការបញ្ចេញមតិទៅជាប្រភេទត្រឹមត្រូវ: 1) ទំនាក់ទំនងទាំងពីរមានសញ្ញាបត្រដូចគ្នា ( ឧ n); និង 2) សម្រាប់គុណលក្ខណៈគ្នា (1 <= ខ្ញុំ <= n) ដែន (R1.Attr_i) = ដែន (R2.Attr_i) ។ ប្រភេទទិន្នន័យនៃការបញ្ចេញមតិប្រសិនបើទំនាក់ទំនងពីរគឺមាននៅក្នុង u.c. បន្ទាប់មកគ្រោងការណ៍ទំនាក់ទំនងនៃលទ្ធិផលគឺជាការបំពានជ្រើសរើសឱ្យថានៃសញ្ញាប្រមាណវិធីជាលើកដំបូង។ ផ្សេងទៀត … (សញ្ញាប្រមាណវិធីជាក់លាក់ – ឧទាប្រតិបត្តិករផលិតផល) semantic ការ: ការទាក់ទងជាលទ្ធផលមានទាំងអស់ tuple ទាំងដែលមានវត្តមានជាលើកដំបូងនៅក្នុងការដែលជាលើកទីពីរឬអង្គទាំងពីរ។
ប្រភេទ:
ប្រភេទនៃគ្រោងការណ៍ទាក់ទងលទ្ធផលគឺនៃសញ្ញាប្រមាណវិធីប្រសិនបើទំនាក់ទំនងសញ្ញាប្រមាណវិធីជាលើកដំបូងគឺមាននៅក្នុង u.c. ទាំងពីរ
កំណត់:
R1 លោក U R2 សហជីព (R1, R2)
សមាគមបាទប្តូបាទ
ប្រតិបត្តិករ: ភាពខុសគ្នា (គោលពីរ)
សញ្ញាន័យវិទ្យា:
ទំនាក់ទំនងទាំងអស់លទ្ធផលរួមបញ្ចូល tuple នៃសញ្ញាប្រមាណវិធីជាលើកដំបូងដែលមិនមានវត្តមាននៅក្នុងសញ្ញាប្រមាណវិធីទីពីរ។
ប្រភេទ:
ប្រភេទនៃគ្រោងការណ៍ទាក់ទងលទ្ធផលគឺនៃសញ្ញាប្រមាណវិធីប្រសិនបើទំនាក់ទំនងសញ្ញាប្រមាណវិធីជាលើកដំបូងគឺមាននៅក្នុង u.c. ទាំងពីរ
កំណត់:
R1 – R2 diff (R1, R2)
គ្មានការប្តូរពុំមានសមាគម
ប្រតិបត្តិករ: ការជ្រើស (ប្រមាណវិធីមួយអង្គ)
សញ្ញាន័យវិទ្យា:
បង្កើតទំនាក់ទំនងថ្មីមួយដោយទាញយកពីអង្គ tuple លក្ខខណ្ឌទាំងអស់ដែលបំពេញការជ្រើស។
tuple:
ប្រភេទនៃគ្រោងការណ៍ទាក់ទងលទ្ធផលគឺស្មើនឹងគ្រោងការណ៍សញ្ញាប្រមាណវិធីនេះ។
ស្ថានភាពការជ្រើសរើសមួយមានទម្រង់ដូចខាងក្រោម:
ឈ្មោះ Attribute ការីការប្រៀបធៀប។ តម្លៃថេរឬឈ្មោះ Attribute ការីការប្រៀបធៀប។ ឈ្មោះ attribute
ស៊េរីនៃលក្ខខណ្ឌការជ្រើសត្រូវបានបញ្ចូលគ្នាអាចជ្រើស condition1 ដូចនៅក្នុងការជ្រើស condition2 ឬនិងជ្រើស condition1 ឬជ្រើស condition2
ប្រតិបត្តិករធម្មតាមួយចំនួនសម្រាប់ការប្រៀបធៀបដែនបានបញ្ជាឱ្យរួមបញ្ចូលទាំង>, <, ==,! =, ល
កំណត់:
(ជ្រើសលក្ខខណ្ឌ) R1 ជម្រើស (R1, លក្ខខណ្ឌជ្រើសរើស)
ចំណាំ:
លទ្ធផលគឺជាសំណុំរងនៃសញ្ញាប្រមាណវិធីមួយ!

សមាគមបាទប្តូបាទ
ទំនាក់ទំនងពិជគណិត: ក្រុមហ៊ុនទេសចរណ៍: ផលិតផល (គោលពីរ)
សញ្ញាន័យវិទ្យា:
បង្កើតទំនាក់ទំនងថ្មីដោយមានផលិតផល Cartesian ប្រតិបត្តិ
នៃអង្គពីរ។
(ប្រសិនបើខា R1 និង R2 គឺជា 60000 និង 500
រៀង, ខាផលិតផលរបស់ពួកគេគឺ 60000 * 500 =
3,000,000!)

ប្រភេទ:
អង្គអាចមានគ្រោងការណ៍ពាក់ព័ន្ធណាមួយ។ ទំនាក់ទំនងនេះជាលទ្ធផលគ្រោងការណ៍គឺស្មើនឹងដាក់បន្តគ្នានៃទំនាក់ទំនងសញ្ញាប្រមាណវិធីរបស់គ្រោងការណ៍នេះ។
កំណត់:
នេះគឺជាខ្លាំងណាស់ដែលមានតម្លៃថ្លៃ computationally
ប្រតិបត្ដិការ!
ដូចគ្នានេះដែរផ្នែកបន្ថែមលទ្ធិផលជាធម្មតាមិនមានអត្ថន័យ !!

បាទប្តូរ
សមាគមបាទ

ប្រតិបត្តិករ: គម្រោង (ប្រមាណវិធីមួយអង្គ)
សញ្ញាន័យវិទ្យា:
បង្កើតទំនាក់ទំនងថ្មីមួយដោយយកចេញពីអង្គគុណលក្ខណៈទាំងអស់ (និងផលវិបាកតម្លៃរបស់ពួកគេ) ដែលមិនត្រូវបានរៀបរាប់នៅក្នុងការបញ្ចេញមតិគម្រោងនេះ។
ប្រភេទ:
ប្រភេទនៃគ្រោងការណ៍លទ្ធផលនេះគឺស្មើទៅនឹងគ្រោងការណ៍សញ្ញាប្រមាណវិធីនេះប៉ុន្តែមិនរួមបញ្ចូលគុណលក្ខណៈដែលមិនបានរៀបរាប់នៅក្នុងបញ្ជីគុណលក្ខណៈ។
កំណត់:
(attr … X1, … , attr_xn) គម្រោង (R1, attr_x1, … , attr_xn)
ចំណាំ:
តម្លៃស្ទួនត្រូវបានយកចេញទាំងស្រុង!
ភក្ដិកំណត់ត្រាកំណត់លើសពីនេះទៀត:
នៅក្នុងការបញ្ចេញមតិពិជគណិតជាមួយខ្សែអក្សរនៃគម្រោងមួយដែលយើងមានរឿងពីរនឹងនៅលើ – រៀបចំរចនាសម្ព័ន្ធឡើងវិញនិងពង្រីក !! ឡើងវិញ ជាមួយនឹងការរៀបចំពិជគណិតម្នាក់អាចយកឈ្នះលើការរឹតបន្តឹងទាំងនេះ។
ប្តូរ (ជាទូទៅ) មិន Association (ទូទៅ) គ្មាន
ប្រតិបត្តិករអប្បបរមាសំណុំ
វាអាចត្រូវបានបង្ហាញថាសំណុំរងនៃប្រតិបត្តិករបានបង្ហាញ (ជាពិសេសបានជ្រើសជាគម្រោងសហជីពមានភាពខុសគ្នានិងផលិតផល) មួយគឺគ្រប់គ្រាន់, ឬបញ្ចប់, ដើម្បីរៀបរាប់ក្រុមហ៊ុនផ្សេងទៀត (ឧទាហរណ៍ចូលរួមដែលជាចំណុចប្រសព្វល) ។
ការប្រើប្រាស់ផ្ដាច់មុខនៃប្រតិបត្តិករពីសំណុំពេញលេញមួយដែលបានធ្វើឱ្យកន្សោមពិជគណិតមួយចំនួនការអានធម្មជាតិរឹងទទឹងខ្លាំងណាស់!
ឧទាហរណ៍ប្រតិបត្តិករប្រសព្វមានទម្រង់នេះ:
ការប្រសព្វ (R1, R2)
គឺស្មើនឹង diff (សហជីព (R1, R2), សហជីព (diff (R1, R2), (diff (R2, R1)))
ឬសមមូលនឹង
diff (R1, diff (R1, R2))
ហេតុអ្វីបានជាពិជគណិតមួយ?
ជាភាសាសាមញ្ញ
បានកំណត់នៅការចូលដំណើរការពេលវេលាមួយ
សំឡេង semantic
សម្តែងអំពីសំណួរដូចគ្នាដែលមានមូលដ្ឋានផ្សេងទៀតជាភាសាគំរូបានរៀបរាប់អំពីទំនាក់ទំនង
(ឧទាហរណ៍ការគណនាទំនាក់ទំនងប្រកាស)
នីតិវិធី
Optimisation
សំណួរ (មួយ) € “”ក្រុមហ៊ុន
ទាញយកបន្ទាប់មកឈ្មោះនិងអាសយដ្ឋាននៃបុគ្គលិកទាំងអស់ដែលធ្វើការសម្រាប់នាយកដ្ឋាន€~Research’។
research_dept: = ជ្រើស dname = a €™Researcg’ (នាយកដ្ឋាន);
research_dept_emps: = ជ្រើស dnumber = dno (បុគ្គលិកផលិតផល research_dept);
algl1: = fname គម្រោង lname អាសយដ្ឋាន, (research_dept_emps);
សំណួរ (ពីរ) € “”ក្រុមហ៊ុន
សម្រាប់រាល់គម្រោងដែលមានទីតាំងស្ថិតនៅក្នុង€~Stafford’, ឈ្មោះចំនួនគម្រោងចំនួននាយកដ្ឋានគ្រប់គ្រងហើយmanagerâនាយកដ្ឋាន€™ s បានចុងក្រោយនេះឈ្មោះអាសយដ្ឋាននិងថ្ងៃខែឆ្នាំកំណើត។
Stafford-_projs: = ជ្រើស plocation = a €™Stafford’ (គម្រោង);
Contr_dept: = ជ្រើស DNUM-dnumber (នាយកដ្ឋានផលិតផល Stafford_projs);
proj_dept_mgr: = ជ្រើស mgrssn = SSN (បុគ្គលិកផលិតផល contr_dept);
alg2: = គម្រោង pnumber, DNUM, lname អាសយដ្ឋាន bdate (proj_dept_mgr);
សំណួរ (បី) € “”ក្រុមហ៊ុន
រកឃើញឈ្មោះនៃបុគ្គលិកដែលធ្វើការនៅលើគម្រោងទាំងអស់ដែលបានគ្រប់គ្រងដោយនាយកដ្ឋានចំនួន 5 ។
Dept5_projs (pno): = pnumber គម្រោង (ជ្រើស DNUM = 5 (គម្រោង)); emp_proj (SSN, pno): = essn គម្រោង pno (works_on); emp_proj_ssns: = SSN គម្រោង (emp_proj); % លទ្ធភាពទាំងអស់នៃបុគ្គលិកដែលធ្វើការនៅលើគម្រោង dept5 ។ Poss_emps_dept5: = (dept5_projs emp_proj_ssns ផលិតផល); /% និយោជិតដែលដូណា€™ s បានធ្វើការងារលើគម្រោង dept5 ទាំងអស់ .. emps_not_dept5: = SSN គម្រោង (emp_proj មានភាពខុសគ្នា poss_emps_dept5); result_emp_ssns: = EMP emps_not_dept5 SSNs proj មានភាពខុសគ្នា; alg3: = គម្រោង lname, fname (result_emp_ssns njoin និយោជិត);
សំណួរ (បួន) € “”ក្រុមហ៊ុន
ចូរធ្វើបញ្ជីនៃចំនួនលេខគម្រោងមួយសម្រាប់គម្រោងដែលពាក់ព័ន្ធនឹងបុគ្គលិកដែលមានឈ្មោះចុងក្រោយគឺលោក€~Smith’មួយឬមួយជាកម្មករនិយោជិតឬជាអ្នកគ្រប់គ្រងរបស់នាយកដ្ឋានដែលគ្រប់គ្រងគម្រោងនេះ។
ស្ម៊ីធ (essn): = SSN គម្រោង (ជ្រើស lname = លោក€~Smith’ (បុគ្គលិក));
smith_worker_projs: = pno គម្រោង (works_on njoin ស្ម៊ីធ);
mgrs: = lname គម្រោង dnumber (ជ្រើស SSN = mgrssn (នាយកដ្ឋានផលិតផលបុគ្គលិក));
smith_mgrs: = selecy lname = a €™Smith’ (mgrs);
smith_managed_depts (DNUM): = គម្រោង dnumber (smith_mgrs);
smith_mgr_projs (pno): = គម្រោង pmumber (smith_managed_depts njoin គម្រោង);
alg3: = smith_worker_projs smith_mgr_projs សហជីព;
សំណួរ (ប្រាំ) € “”ក្រុមហ៊ុន
រាយឈ្មោះនៃបុគ្គលិកទាំងអស់ដែលមានភាពអាស្រ័យពីរឬច្រើន។
% ធ្វើឱ្យច្បាប់ចម្លងបុគ្គលិកពីរជាមួយអ្នកនៅក្នុងបន្ទុក។
Empdep1 (essn, depname1): = essn គម្រោង dependent_name (ពឹងផ្អែកលើ);
empdep2 (essn2, depname2): = empdep1;
បុគ្គលិកនិងដោយមានច្រើនជាងមួយឯករាជ្យ។
Emps_gtone_dep (SSN): = essn1 គម្រោង (ជ្រើស (essn = essn2) និង (depname1 <> depname2) (empdep2 ផលិតផល empdep1));
alg5: = lname គម្រោង fname (បុគ្គលិក njoin emps) gtone_dep);
សំណួរ (ប្រាំមួយ) – ជាក្រុមហ៊ុន
ទៅយកឈ្មោះរបស់បុគ្គលិកដែលមានភាពអាស្រ័យទេ។
All_emps: = SSN គម្រោង (បុគ្គលិក); Emps_with_deps (SSN): = essn គម្រោង (ពឹងផ្អែកលើ); Emps_without_deps: = (all_emps
emps_with_deps មានភាពខុសគ្នា); Alg6: = lname គម្រោង, fname
(emps_without_deps njoin និយោជិត);
សំណួរ (ប្រាំពីរ) € “”ក្រុមហ៊ុន
អ្នកចាត់ការទូទៅរាយឈ្មោះដែលមានយ៉ាងហោចណាស់មួយដោយពឹងផ្អែកលើ។
Mgrssn (SSN): = mgrssn គម្រោង (នាយកដ្ឋាន); Emps_with_deps (SSN): = essn គម្រោង (ពឹងផ្អែកលើ); Mgrs_with_deps: = (mgrssn កាត់ emps_with_deps); Alg7: = lname គម្រោង, fname
(mgrs_with_deps njoin និយោជិត);

“——————————————————————————————————————————————————

지원 번역 : http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
관계형 대수
대수학은 무엇입니까?
대수 (알 – JE-BRE) 명사
수학
기호, 알파벳의 일반적으로 문자, 숫자 또는 숫자의 특정 집합의 구성원을 대표하고 집합의 모든 번호를 누르고 조작에 의해 관련되는 연산 1 일반화.
2 지정된 법을 준수 설정에 정의 된 작업과 함께 설정합니다.
아랍의 수학자 알 – Khwarizmi (약 900 AD)에 의해 도입과 1145 년 체스터의 로버트에 의해 라틴어로 들어온 3 워드.

[중세 영어에서 중세 라틴어에서 두 골 설정과 이탈리아, 대수, 아랍어 알 – 브르의 (과학) 재결합 :. 알,의 + 브르, 통일, 뼈 설정]
대수 언어 컴퓨팅에 공통적 : 논리 게이트에 대한 부울 대수; 데이터베이스 DML 및 관계형 대수.
대수학의 기본 재료 세트 (즉 피연산자)과 세트의 모든 요소에 작용하는 작업 (즉 사업자)입니다.
조작 특성 등 (예를 들어, 정수로 설정하고 또한 조작을 고려) : 첨가는 정수 위에 가환이므로 3 + 4 + 4 = 3 (플러스 (3,4) == 플러스 (4,3)); 및 추가 이후 정수를 통해 연관이라고합니다 (3) + (4 + 5) = (3 + 4) + 5 (플러스 (3 플러스 (4,5)) == 플러스 (더하기 (3,4), (5) ))).
REL의 특성. 대수학
그것은을 통해 전체 관계를 조작
작업의 의미 헷갈 리지 않을 정도까지만 세트 (에드
커드 1970).

관계 대수의 세트는 관계의입니다
확장 (튜플, 행)와 운영자는이
중 하나 설정 이론적 기원 또는 관계 지향
호의.

관계형 대수 표현식은 입력 하나가
(단항), 2 (바이너리) 관계 때때로
선택 조건.
식의 출력은 하나의 관계가된다.

기타 특징 :

대수학의 운영자는 관계의 튜플의 모든 작업;

대수는 절차 적 계산이
모델;

하지만 “”튜링 완료””아니다, 하나는 쓸 수
대한 관계를 조작 파스칼 프로그램
이는 더 대수 상당이 없습니다.

선택 조건에 대해 평가되어야
각각 독립적 튜플;

대수 연산의 출력 인
필연적 대수에 허용 입력
표현 -이라고 표현
구성.

운영자 : 연합 (진)
어떤 관계형 대수 표현의 입력과 결과의 관계는 어떻습니까?
1) 모두 관계가 동일한 정도가 (- 이진 표현 TWO 관계 “”UNION””적합성 (UC)는 두 참여 관계 (피연산자 R1 및 R2)이 식 형 올바른 것으로는 다음 구조적 제약이 있어야 즉, N); & 2) 각 속성 (1 <= 내가 = N), 도메인 (R1.Attr_i) = 도메인 (R2.Attr_i를) <. 두 관계는 u.c.의 표현식의 데이터 유형입니다 경우 이어서 생성의 관계 스키마는 먼저 피연산자를 임의적으로 선택된다. ELSE (피연산자 특정 – 예를 들어, 제품 운영자) 의미 : 결과의 관계는, 첫 번째 또는 두 피연산자 중 하나에있는 모든 튜플을 보유하고 있습니다.
타자:
그 결과 관계 스키마의 유형은 첫 번째 피연산자의 두 피연산자 관계 u.c.에있는 경우이다
표기법:
R1 U R2 UNION (R1, R2)
교환 법칙이 성립 YES의 연관 YES
운영자 : 차이 (진)
의미론:
결과의 관계는 두 번째 피연산자에 존재하지 않는 첫 번째 피연산자의 모든 튜플을 포함한다.
타자:
그 결과 관계 스키마의 유형은 첫 번째 피연산자의 두 피연산자 관계 u.c.에있는 경우이다
표기법:
R1 – R2 DIFF (R1, R2)
교환 법칙이 성립 NO 연관 NO
운영자 : 선택 (단항)
의미론:
피연산자에서 선택 조건을 만족하는 모든 튜플을 추출하여 새로운 관계를 만듭니다.
튜플 :
그 결과 관계 스키마의 유형은 피연산자의 스키마에 해당합니다.
선택 조건은 다음과 같은 형태를 가진다 :
비교 연산의 이름을 속성. 상수 값 또는 이름 비교 연산 속성. 이름 속성
선택 조건의 일련의 선택 조건 1과 조건 2를 선택 또는 선택 조건 1 또는 선택 조건 2에서와 같이 결합 될 수있다
주문 도메인에 대한 몇 가지 일반적인 비교 연산자는>, <, ==,! =, 등 포함
표기법:
(선택 조건) R1 SELECT (R1, 선택 조건)
노트:
결과는 피연산자의 부분 집합이다!

교환 법칙이 성립 YES의 연관 YES
관계형 대수 : 운영자 : 제품 (진)
의미론:
데카르트 제품을 실행하여 새로운 관계를 만들기
두 피연산자.
(R1 및 R2의 카디널리티 60000 500 있다면
각각 자신의 제품의 카디널리티는 60000 * 500 =입니다
3,000,000!)

타자:
피연산자는 어떤 관계 스키마를 가질 수 있습니다. 생성 된 관계 스키마는 피연산자의 관계 스키마의 연결에 해당합니다.
표기법:
이것은 매우 계산 비용이
조작!
또한, 그 결과 확장은 일반적으로 의미가 없습니다!

교환 법칙이 성립 예
연관 예

운영자 : 투사 (단항)
의미론:
피연산자에서 제거하여 새로운 관계를 만들기 투영 식에 언급되지 않은 모든 특성 (결과적으로 그 값).
타자:
생성 된 스키마의 유형은 피연산자의 스키마하지만 속성리스트에 언급되지 않은 속성을 제외하는 것과 같습니다.
표기법:
(ATTR … X1, …, attr_xn) PROJECT (R1, attr_x1, …, attr_xn)
노트:
중복 값은 암시 적으로 제거됩니다!
또한 주 :
프로젝트의 문자열 대수 표현에서 우리는 두 가지 일이 – 구조 조정과 재 연장! 소정 대수 조작을 통해 하나의 이러한 제한을 극복 할 수있다.
아니오 (일반적으로) 아니오 연합 (일반적으로) 교환 법칙이 성립
사업자의 최소 세트
이는 제시된 연산자 (구체적으로는 선택, 프로젝트, 연합 차이 제품)의 서브 세트가 적절하거나 완료 (예를 들어, 가입 등 교차로) 다른 연산자를 설명하는 것으로 도시 될 수있다.
완전한 세트에서 사업자의 독점적 사용은 매우 완고한 일부 자연 대수 표현을 읽고 만든다!
예를 들어, 교차 연산자는이 양식이 있습니다
INTERSECTION (R1, R2)
DIFF (UNION (R1, R2), UNION (DIFF (R1, R2), (DIFF (R2, R1)))에 해당
또는 동등
DIFF (R1, DIFF (R1, R2))
왜 대수?
간단한 언어
한 번 액세스 설정
의미 소리
다른 관계형 모델 기반 언어에서 설명하는 같은 질의를 표현
(즉, 선언적인 관계 미적분학)
절차
optimisable
쿼리 (일) â € “”회사
다음의 이름을 지정하고 â € ~Researchâ € ™ 부서 근무하는 모든 직원의 주소를 검색 할 수 있습니다.
research_dept = 선택 DNAME = € ™ Researcgâ € ™ (부서) â;
research_dept_emps = 선택 DNUMBER = DNO (research_dept 제품 직원);
algl1 = 프로젝트 FNAME, LNAME, 주소 (research_dept_emps);
쿼리 (2 개) â € “”회사
â € ~Staffordâ € ™에있는 모든 프로젝트의 경우, 프로젝트 번호, 제어 부서 번호, 부서 managerâ € ™의 마지막 이름, 주소, 생년월일을 나열합니다.
스태 퍼드 – _projs = 선택 plocation = â € ™ Staffordâ € ™ (프로젝트);
Contr_dept = 선택 DNUM-DNUMBER (Stafford_projs 제품 부서);
proj_dept_mgr = 선택 MGRSSN = SSN (contr_dept 제품 직원);
ALG2 = 프로젝트 PNUMBER, DNUM, LNAME, 주소, bdate (proj_dept_mgr);
쿼리 (3 개) â € “”회사
부서 번호 5에서 제어하는 모든 프로젝트에 근무하는 직원의 이름을 찾을 수 있습니다.
Dept5_projs (PNO) = 프로젝트 PNUMBER () = 5 (프로젝트 DNUM 선택) emp_proj (SSN, PNO) = 프로젝트 ESSN, PNO (WORKS_ON); emp_proj_ssns = 프로젝트 SSN (emp_proj); % dept5 프로젝트에서 작업하는 직원의 모든 가능성. ; Poss_emps_dept5 모든 dept5 프로젝트 .. emps_not_dept5에 € ™ s의 작업을 도나 / % 종업원 수 = (제품 emp_proj_ssns dept5_projs) = 프로젝트 SSN (poss_emps_dept5 차이 emp_proj을); result_emp_ssns = EMP PROJ의 보장 번호의 차이 emps_not_dept5; alg3 = 프로젝트는 LNAME, FNAME (result_emp_ssns 직원을 njoin);
쿼리 (4 개) â € “”회사
근로자 또는 프로젝트를 제어하는 부서의 관리자로 하나, 성 € ~Smithâ € ™ â있는 직원을 참여 프로젝트에 대한 프로젝트 번호 목록을 확인합니다.
스미스 (ESSN) = 프로젝트 SSN은 (= LNAME를 선택 â € ~Smithâ € ™ (직원));
smith_worker_projs = 프로젝트 PNO (WORKS_ON njoin 스미스);
MGRS = 프로젝트 LNAME, DNUMBER (선택 SSN = MGRSSN (직원의 제품 부서));
smith_mgrs = selecy LNAME = € â ™ Smithâ € ™ (MGRS);
smith_managed_depts (DNUM) = 프로젝트 DNUMBER (smith_mgrs);
smith_mgr_projs (PNO) = 프로젝트 pmumber (프로젝트 njoin smith_managed_depts);
alg3 = smith_worker_projs 노조 smith_mgr_projs;
쿼리 (오) â € “”회사
두 개 이상의 부양 가족으로 모든 직원의 이름을 나열합니다.
% 부양 직원의 두 복사본을 만듭니다.
Empdep1 (ESSN, depname1) = 프로젝트 ESSN, DEPENDENT_NAME (종속);
empdep2 (essn2, depname2) = empdep1;
따라 하나 이상의와 및 직원.
Emps_gtone_dep (SSN) = 프로젝트 essn1 (선택 (ESSN = essn2)와 (depname1 <> depname2) (empdep1 제품 empdep2));
alg5 = 프로젝트 LNAME, FNAME (한 EMP njoin 직원) gtone_dep);
쿼리 (육) – 회사
부양 가족이없는 사원들의 이름을 검색합니다.
여기서 all_emps = 프로젝트 SSN (직원); Emps_with_deps (SSN) = 프로젝트 ESSN (종속); Emps_without_deps = (여기서 all_emps
차이 emps_with_deps); Alg6 = 프로젝트 LNAME, FNAME
(emps_without_deps 직원을 njoin);
쿼리 (칠) â € “”회사
따라 적어도 하나를 관리자의 이름을 나열합니다.
MGRSSN (SSN) = 프로젝트 MGRSSN (부서); Emps_with_deps (SSN) = 프로젝트 ESSN (종속); Mgrs_with_deps는 = (MGRSSN는 emps_with_deps 교차); Alg7 = 프로젝트 LNAME, FNAME
(mgrs_with_deps 직원을 njoin);

“——————————————————————————————————————————————————

werger Support: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
re têkilî Algebra
an Algebra çi ye?
cebîrê (al-je-bre) noun
Rîyaze
1 A prosesa peqand li ku sembol, bi piranî pîtên alfabeyê, temsîl hejmara an Endamên komekê taybetî yên hejmar û bi destê operasyonên ku ji bo hemû hejmarên di set bigirin related.
2 A set bi hev re bi operasyonên danasîn li set ku qanûnên taybet bigirim.
3 Peyv nasand ji aliyê matematîkê erebî El-Xwarizmî (Teqrîben 900 PZ) û li ser nav Latin destê Robertê Chester di 1145 anîn.

[English Navîn, bone-mîhengê û Italian, cebir, hem ji sedsalên latînî, ji erebî el-cebr, bi (zanist ên) (Umman): al, li + cebr, yekbûna, bone-mîhengê]
zimanan ceberî li computing hevbeş in: cebîrê Boolean bo dergehên mantiqa; û cebîrê re têkilî ji bo DML nav HTMLê da heye.
malzemeyên bingehîn ya cebîrê in a set (i.e. operand) û operasyonên (i.e. operatorên) ku li ser hemû unsûrên ji set tevbigerin.
milkên Operator (ji bo nimûne, çav an hijmar danîn û operasyona bilî) ev in: Addition commutative li ser hejmarên e ji ber ku 3 + 4 = 4 + 3 (plus (3,4) == plus (4,3)); û Addition tê gotin associative li ser hejmarên sala 3 + (4 + 5) = (3 + 4) + 5 (plus (3, plus (4,5)) == plus (plus (3,4), 5 ))).
Taybetiyên Rel. algebra
Ev bikevin tevahiya têkiliyên bi riya
set semantîk unambigous operasyonên (Ed
Codd 1970).

sets cebîrê re têkilî ne li ser têkiliya di ya
extension (tuples, rêzikan) û ya operatorên
yan eslê theoretic set an têkiliyên sîwaneke
qedir.

A îfade ceberî re têkilî heye ku qurs yek
(Unary), an jî du (binary), têkiliyên û carna jî
rewşa hilbijartinź.
Dema ku encam jî îfade kir ku têkiliyên yek e.

Din Characteristics:

operatorên li cebîrê li ser hemû tuples têkiliyên bixebite;

li cebîrê heye computational şiklî,
cins;

Lê belê, ev e “”Turing temam”” ne, kes dikare wergeran a binivîse
bernameya Pascal ku bikevin têkiliyên ji bo
ku ti cezayeke ceberî hene.

rewşa hilbijartinê heye ku li dijî bên nirxandin
hev serbixwe tuple;

di encam operasyona ceberî ye an
input xweş ji bo ceberî derketiye holê
îfade – ev fikir bi navê
kompozîsyona.

Operators: Yekîtiya (binary)
Çi li ser Wêrek ji bo derbirîna ceberî têkilî û pêwendiya dawî xwe?
“”YEKÎTIYA”” LIHEVHATINÊ (uc) ji du PÊWENDÎYÊN bo derbirîna binary, du beşdarî têkiliyên (operands – R1 û R2), divê ji ferzên tevnî li jêr hene ji bo îfadeya be type lê agadar: 1) hem têkiliyên xwedî heman ( ango n); & 2) ji bo her wesf (1 <= i <= n), li domain (R1.Attr_i) = domain (R2.Attr_i). Cureyê welat AN Ramanî ya KU du têkiliyên di u.c. in Hingê schema têkiliya dawî kêfî bijart, ji bo ku ji operand yekem e. Dîtir … (operand taybet – raxîne. Operator berhema) xwebêj: Pêwendiya dawî xwedî hemû tuple niha li butona cara yekem, ya duyem an hem operands.
Wêrek be:
The type of the schema têkiliyên dawî ye ku ji operand yekem eger hem têkiliyên operand li u.c. in
Notation:
R1 U R2 Yektiya (R1, R2)
commutative associative YES YES
Operators: Cudahiya (binary)
xwebêj:
Li ser têkiliya di dawî de heye hemû tuples ji operand yekem ku niha di operand duyemîn ne.
Wêrek be:
The type of the schema têkiliyên dawî ye ku ji operand yekem eger hem têkiliyên operand li u.c. in
Notation:
R1 – R2 zêrîne (R1, R2)
NO commutative NO associative
Operators: Selection (unary)
xwebêj:
Create a têkiliyên nû ji aliyê bi lêdana ji operand hemû tuples ku têr bike û mercên di hilbijartinê de.
Tuples:
The type of the schema têkiliyên dawî qasî schema li operand ye.
A rewşa hilbijartinê heye forma jêrîn:
Pêşbîr Navê eyna op. nirxa berdewam an Pêşbîr navê eyna op. navê taybetiyê
A çendîn mercên Selection wê wek li condition1 hilbijêre û condition2 select an condition1 hilbijêre yan condition2 select bi hev re
Hin operatorên berhevdana tîpîk ji bo qada ferman in>, <, ==,! =, Hwd.
Notation:
(Rewşa select) R1 SELECT (R1, rewşa selection)
Not:
The dawî binkoma ya operand e!

commutative associative YES YES
Re têkilî Algebra: Operators: Product (binary)
xwebêj:
Create a têkiliyên nû bi bicihanîna wê berhemê Cartesian
ji du operands.
(Eger cardinalities ji R1 û R2 in 60000 û 500
bi rêzê ve, cardinality berhemên xwe 60000 * 500 = e
3.000.000!)

Wêrek be:
The operands dikare her schema têkiliyên hene. The schema têkiliyên dawî qasî concatenation ji schema têkiliyên di operand ye.
Notation:
Ev yek gelek computationally biha ye
emelî!
Jî, berfirehkirina dawî ye bi piranî bi wate ne !!

commutative Yes
associative Yes

Operators: Projection (unary)
xwebêj:
Create a têkiliyên nû rakirin ji operand hemû taybetmendiyên xwe (û di dawiyê de nirxên wan) ku di ramanê projection de behsa ne.
Wêrek be:
The type of the schema dawî qasî schema li operand lê belê ji bilî taybetmendiyên xwe di lîsteya taybetiyê de behsa ne e.
Notation:
(Em kerkÃŒà … x1, …, attr_xn) PROJE (R1, attr_x1, …, attr_xn)
Not:
nirxên Pekana bi paradokseke rakirin!
Notes din:
Di ramanê ceberî bi a string ji projeyên em du tiştên li ser diçûn – nûsazkirinê û re-dirêjkirina !! Bi hin Miameleyên ceberî kes dikare van astengên ser keve.
commutative (bi giştî) No associative (bi giştî) No
set mînîmal yên operatorên
Ev dikare bê dîtin ku, binkoma ya operatorên pêşkêş kirin (bi taybetî li select, proje, sendîka, ferq û berhem) baş, an jî bi temamî ne, ji bo danasîna operatorên din (bo nimûne beşdarî, Hevbirîna û hwd.).
Bikaranîna sinûrên operatorên ji set bi temamî bide xwendina hin têgînên ceberî xwezayî pir bi eks!
Ji bo nimûne, operator corbicor de heye, ev form:
Hevbirîn (R1, R2)
ku miqabilê zêrîne (Yektiya (R1, R2), YEKÎTIYA (cudahî (R1, R2), (cudahî (R2, R1))) e
an bi qasî
Zêrîne (R1, Diff (R1, R2))
Çima cebîrê?
bi zimanekî sade
set li access dem
dengê semantîk
Metnê ku pirsên ku bi zimanekî din re têkilî model bingeha binav dike
(I.e. di warê têkilî declarative)
şiklî,
optimisable
Query (yek) â € “”Company
Şûnde wê navê û navnîşana hemû karmendên ku ji bo â € ~Researchâ € ™ beşa kar.
research_dept: = dname select = â € ™ Researcgâ € ™ (beşa);
research_dept_emps: = dnumber select = DNO (Xebatkarê berhemên research_dept);
algl1: = fname projeyê, lname, navnîşan (research_dept_emps);
Query (du) â € “”Company
Ji bo her projeyeke located in â € ~Staffordâ € ™, di lîsteya ku hejmara Project, di kontrolkirina Hejmara beşa, Û managerâ di beşa € ™ s cara, nav, navnîşan, Û birthdate.
Stafford-_projs: = plocation select = â € ™ Staffordâ € ™ (projeyên);
Contr_dept: = Hilbijêre dnum-dnumber (beşa berhema Stafford_projs);
proj_dept_mgr: = mgrssn select = ssn (Xebatkarê berhemên contr_dept);
alg2: = projeya pnumber, dnum, lname, navnîşan, bdate (proj_dept_mgr);
Query (sê) â € “”Company
Find navên karmendên ku li ser hemû Projects ji aliyê şaxê hejmara 5 kontrola kar.
Dept5_projs (pno): = pnumber projeya (hilbijêre dnum = 5 (projeyên)); emp_proj (ssn, pno): = essn projeyê, pno (works_on); emp_proj_ssns: = ssn projeya (emp_proj); % Hemû îmkanên ji karmendên kar li ser projeyên dept5. Poss_emps_dept5: = (dept5_projs emp_proj_ssns berhema); /% Karmendên ku xirantir € ™ s kar li ser hemû projeyên dept5 .. emps_not_dept5: = ssn projeya (poss_emps_dept5 emp_proj ferq); result_emp_ssns: = emp emps_not_dept5 ssns proj cudahiya; alg3: = projeya lname, fname (result_emp_ssns njoin karker);
Query (çar) â € “”Company
Make a list of hejmara projeyê de ji bo projeyên ku bixebitin xebatkarekî ku navê dawîn e â € ~Smithâ € ™, An jî wekî karker an wek rêveberê fermangeha ku kontrol dike ku projeya.
Smiths (essn): = ssn projeya (hilbijêre lname = â € ~Smithâ € ™ (Xebatkarê));
smith_worker_projs: = pno projeya (works_on njoin RSGrn);
mgrs: = lname projeyê, dnumber (hilbijêre ssn = mgrssn (beşa berhema karker));
smith_mgrs: = selecy lname = â € ™ Smitha € ™ (mgrs);
smith_managed_depts (dnum): = projeya dnumber (smith_mgrs);
smith_mgr_projs (pno): = projeya pmumber (smith_managed_depts njoin projeyên);
alg3: = smith_worker_projs smith_mgr_projs yekîtiya;
Query (pênc) â € “”Company
Lîsteya navên hemû karmendên bi du an jî zêdetir malbatê.
% Make du kopiyên yên karker bi malbatê.
Empdep1 (essn, depname1): = essn projeyê, dependent_name (girêdayî);
empdep2 (essn2, depname2): = empdep1;
& Ku xebatkarên me bi zêdetir ji yek girêdayî.
Emps_gtone_dep (ssn): = essn1 projeya (hilbijêre (essn = essn2) û (depname1 <> depname2) (empdep1 empdep2 berhema));
alg5: = lname projeyê, fname (Xebatkarê njoin emps) gtone_dep);
Query (şeş) – Company
Kuştiyan navên karmendên ku tu malbatê.
All_emps: = ssn projeya (Xebatkarê); Emps_with_deps (ssn): = essn projeya (girêdayî); Emps_without_deps: = (all_emps
emps_with_deps Cudahiya); Alg6: = lname projeyê, fname
(Emps_without_deps njoin karker);
Query (heft) â € “”Company
Lîsteya navên ji kadroyên ku bi kêmî ve yek girêdayî.
Mgrssn (ssn): = mgrssn projeya (beşa); Emps_with_deps (ssn): = essn projeya (girêdayî); Mgrs_with_deps: = (mgrssn hev emps_with_deps); Alg7: = lname projeyê, fname
(Mgrs_with_deps njoin karker);

“——————————————————————————————————————————————————

Колдоо котормо: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
мамиледеги Algebra
бир Algebra жөнүндө эмне айтууга болот?
алгебра (ал-е-BRE) зат атооч
математика
1 белгилер турган кошууну менен жалпылаштыруу, алиппесин адатта тамгаларды, сандарды же сандардын белгилүү бир топтомун мүчөлөрүн билдирет жана белгиленген бардык номерлерине өткөрүү иштери менен байланыштуу болот.
2 көрсөтүлгөн мыйзамдарга баш ийип топтомун аныкталган иш менен бирге коюлган.
3 Word Араб математик ал-Хорезми (900 Болжолу, AD) тарабынан киргизилген жана Честер Роберт тарабынан латын тилине алып келди 1145.

[Жакынкы English, сөөк-жөндөө жана Италиялык, алгебра, Medieval латын тилинен да, арап ал-Жабр, (илим) көркөм өрнөк бар. Ал, + Жабр, биригишин, сөөк-жөндөө]
Алгебра тилдер эсептөө менен кездешет: логика боюнча ар бир дарбаза үчүн логикалык алгебра; жана маалымат базасы DML үчүн Катыш алгебра.
бир Алгебранын негизги курамы топтомун бардык элементтери боюнча иш тобун (б.а. operand) жана иш-(б.а. операторлор) болуп саналат.
Оператор касиеттери (мисалы, так сан коюп жана толуктоо ишин карап) төмөнкүлөр кирет: Кошулган бүтүн үстүнөн commutative, анткени 3 + 4 = 4 + 3 (плюс (3,4) == плюс (4,3)); жана толуктоо бери бүтүн үстүнөн Associative деп 3 + (4 + 5) = (3 + 4) + (5 плюс (3, плюс (4,5)) == плюс (плюс (3,4), 5 ))).
Rel мүнөздөмөсү. алгебра
Ал аркылуу бүт мамилелерин чыгартат
иш-семантикалык unambigous топтому (Эд
Codd 1970-ж.)

мамиледеги алгебра бул топтому байланышы болгон эмес
узартуу (Tuples, катар) жана операторлор бар
же белгиленген теориялык чыгышы же байланышы багытталган
ырайым кыл +.

А мамиледеги алгебралык туюнтма салымдар катары бар
(Иштебесе), же эки (бинардык), мамилелер жана кээде
тандоо шарты.
бир сөз чыгаруусу бир байланыш болуп саналат.

Башка мүнөздөмөсү:

алгебра операторлору мамилелер Tuples бардык боюнча иштерди алып баруу;

алгебра жол-жоболук турукташтыруу бар
модели;

Бирок ал: «Тюринг толук» эмес, бир жаза аласыз
үчүн мамилелерди чыгартат Pascal программасы
ал эч кандай алгебралык барабар жок.

тандоо шарты менен баа берүү керек
Ар бир Tuple өз алдынча;

Алгебралык иш чыгаруу болгон
бир бузулуп Алгебралык үчүн алгылыктуу киргизүү
сөз айкашы – бул сөз айкашы деп аталат
курамы.

Операторлор: Union (экилик)
Эмне мамилелердин алгебралык сөз терүү жана анын жыйынтык карата жөнүндө эмне айтууга болот?
«Союз» ШАЙКЕШТИК (UC) ЭКИ мамилелердин бинардык көрсөткөнү үчүн, бул эки катышуучу мамилелер (operands – R1 жана R2) сөз түрү туура болушу үчүн төмөнкү структуралык чектөөлөрдү ээ болушу керек: 1) эки мамилелер даражасына ээ ( башкача айтканда, н); & 2) ар бир сыпаты (1 <= п <= N), домен (R1.Attr_i) = домен (R2.Attr_i). эки мамилелер Эгер далили анын Берилиштер түрү u.c. бар АНАН кошулмасы байланышы схема биринчи operand да болуп өзүм билемдик менен тандалат. ЭЧ … (operand белгилүү – мисалы, продукт оператору) Semantics: жыйынтык байланышы бардык Tuple биринчи, экинчи же эки operands же ушул жазыла элек.
терүү:
пайда болгон байланышы схемасында түрү да operand мамилелер u.c. болгон болсо, биринчи operand болуп саналат
Notation:
R1 U R2 UNION (R1, R2)
commutative Ооба Associative ООБА
Операторлор: Difference (экилик)
Semantics:
пайда болгон байланышы экинчи operand ушул эмес, биринчи operand бардык Tuples камтыйт.
терүү:
пайда болгон байланышы схемасында түрү да operand мамилелер u.c. болгон болсо, биринчи operand болуп саналат
Notation:
R1 – R2 айырма (R1, R2)
commutative NO Associative NO
Операторлор тандоо (иштебесе)
Semantics:
operand тандоо талаптарды канааттандыруучу бардык Tuples оюу боюнча жаңы мамилесин түзүү.
Tuples:
пайда болгон байланышы схемасында түрү operand анын схемага барабар.
Тандап алуу шарты төмөндөгүдөй түргө ээ:
Салыштыруу кагын аты бар болчу. Туруктуу же аты салыштыруу кагын Атрибут. аты аныктоо
Тандоо шарттары бир катар тандалган CONDITION1 жана тандоо CONDITION2 же тандалган CONDITION1 ЖЕ тандап CONDITION2 эле түзүлүшү мүмкүн
буйрук домендер үчүн кээ бир типтүү салыштыруу операторлору>, <, ==,! = ж.б.
Notation:
(Тандоого шарт) R1 SELECT (R1, тандоо абалы)
Эскертүү:
Түзүлгөн operand бир көмөкчү болуп саналат!

commutative Ооба Associative ООБА
Мамиледеги Algebra: Operators: Продукт (экилик)
Semantics:
бир Декарттык продукт аткаруучу тарабынан жаңы мамилесин түзүү
эки operands жөнүндө.
(R1 жана R2 жана cardinalities 60000 жана 500 болсо,
тиешелүүлүгүнө жараша, алар буюмдун тажатма 60000 * 500 = болуп саналат
3,000,000!)

терүү:
operands эч кандай байланышы схемасын болушу мүмкүн. пайда болгон байланышы схема operand болгон байланышы схеманын чаптоо барабар.
Notation:
Бул өтө эсептөөлөрдү кымбат
иш!
Ошондой эле, пайда узартуу адатта кажети жок деп !!

commutative Ооба
Associative Yes

Операторлор: долбоору (иштебесе)
Semantics:
operand тартып алып салуу менен жаңы мамилесин түзүү проекторлорду сөз айтылган эмес, бардык атрибуттарын (, демек, алардын мааниси).
терүү:
Түзүлгөн схемасында түрү operand анын схемасын, бирок сапаты тизмеде көрсөтүлгөн эмес, касиеттерин эске албаганда барабар.
Notation:
(Аял киши … x1, …, attr_xn) ДОЛБООРУ (R1, attr_x1, …, attr_xn)
Эскертүү:
Кайталанма маанилер толугу менен алынып салынат!
Андан ары Эскертүү:
долбоорлорду бир сап менен алгебралык сөз биз эки нерсе бара бар – түзүмүн өзгөртүү жана кайра созулган !! бир алгебралык курал менен бул чектөөлөрдү арылууга болот.
commutative (жалпы) No Associative (жалпы) No
операторлордун минималдуу чеги
Бул сунуш операторлорунун топтому (атайын тандап, долбоор, союз, айырмачылык жана продукт) тиешелүү, же толугу менен эмес, башка операторлорго сүрөттөө үчүн (мисалы, кошулуу, кесилиштер ж.б.) экенин көрсөттү болот.
пакетинин толугу менен келип операторлордун өзгөчө колдонуу, кээ бир табигый алгебралык сөздөрдү окуп көрүүгө өтө бекем!
Мисалы, түйүндүү оператору бул түрүн бар:
Кесилиш (R1, R2)
Айырма барабар (СОЮЗУ (R1, R2) Союздун (айырма (R1, R2), (айырма (R2, R1)))
же барабар
Айырма (R1, айырма (R1, R2))
Эмне үчүн алгебра?
жөнөкөй тил
бир жолу мүмкүнчүлүк белгиленет
семантикалык үнү
башка мамиледеги модель негизделген тил сүрөттөгөн ошол эле суроо билдирет
(Б.а. жүзүндө мамиледеги эсептери)
жол-жоболук
optimisable
Суроо (бир) â € «компаниясы
анда аты жана â € ~Researchâ € ™ бөлүмүнүн үчүн иштеген бардык кызматкерлердин дареги кайтаруу.
research_dept: = тандоо dname = â € ™ Researcgâ € ™ (бөлүмү);
research_dept_emps: = тандоо dnumber = Аккудык (research_dept продукт кызматкер);
algl1: = долбоор fname, lname, дареги (research_dept_emps);
Суроо (эки) â € «компаниясы
â € ~Staffordâ € ™ жайгашкан ар бир долбоор боюнча, долбоордун номерин, контролдоо бөлүмү номерин, ал эми бөлүмү managerâ € дун аты-жөнү, дареги, ал эми туулган жаз.
Элдард-_projs: = тандоо plocation = â € ™ Staffordâ € ™ (долбоор);
Contr_dept: = тандап dnum-dnumber (Stafford_projs продукт бөлүмү);
proj_dept_mgr: = тандоо mgrssn = (ИИН contr_dept продукт кызматкер);
alg2: = долбоор pnumber, dnum, lname, дареги, bdate (proj_dept_mgr);
Суроо (үч) â € «компаниясы
бөлүмүнүн 5 тарабынан контролдонуучу бардык долбоорлору боюнча иштеген кызматкерлердин атын таппай калган.
Dept5_projs (pno): = долбоору pnumber (= 5 (долбоорлорду) dnum тандоо); emp_proj (SSN, pno): = долбоору essn, pno (works_on); emp_proj_ssns: = долбоору (ИИН emp_proj); % Dept5 долбоорлор менен иштеген кызматкерлердин бардык мүмкүнчүлүктөр. Poss_emps_dept5: = (продукт emp_proj_ssns dept5_projs); /% кызматкерлер € дун бардык dept5 долбоорлорду .. emps_not_dept5 боюнча ишти тынган: = долбоору (ИИН poss_emps_dept5 айырмасы emp_proj); result_emp_ssns: = ЭБП напополам SSNs айырма emps_not_dept5; alg3: = долбоор lname, fname (result_emp_ssns кызматкерине njoin);
Суроо (төрт) â € «компаниясы
долбоорлорду ишке ашыруу үчүн долбоордун номурлардын тизмеси акыркы аты € ~Smithâ € ™ â бир кызматкерди ишке тартуу, же бир кызматкер же долбоорду көзөмөлдөйт бөлүмүнүн жетекчиси болуп саналат.
Smiths (essn): = долбоору (ИИН lname тандоо = â € ~Smithâ € ™ (кызматкери));
smith_worker_projs: = долбоор pno (works_on njoin чеп);
ПГБ: = долбоор lname, dnumber (тандоо SSN = mgrssn (кызматкер продукт бөлүмү));
smith_mgrs: = selecy lname = ™ € â Smithâ € ™ (ПГБ);
smith_managed_depts (dnum): = долбоору dnumber (smith_mgrs);
smith_mgr_projs (pno): = долбоору pmumber (долбоорлорду njoin smith_managed_depts);
alg3: = smith_worker_projs союз smith_mgr_projs;
Суроо (беш) â € «компаниясы
бардык кызматкерлеринин жазылып, эки же андан көп көз каранды.
% Багуусундагы менен кызматкерлердин эки көчүрмөсүн жасоо.
Empdep1 (essn, depname1): = долбоору essn, dependent_name (көз каранды);
empdep2 (essn2, depname2): = empdep1;
& Көз каранды ашык бир кызматкерлери.
Emps_gtone_dep (SSN): = долбоору essn1 (тандоо (essn = essn2) жана (depname1 <> depname2) (empdep1 продукт empdep2));
alg5: = долбоор lname, fname (ЭБП njoin кызматкер) gtone_dep);
Суроо (алты) – Коом
жок, көзкаранды адамдар бар кызматкерлердин ысымдарын алуу.
All_emps: = долбоору (ИИН кызматкер); Emps_with_deps (SSN): = долбоору essn (көз каранды); Emps_without_deps: = (all_emps
Айырма emps_with_deps); Alg6: = долбоор lname, fname
(Emps_without_deps кызматкерине njoin);
Суроо (жети) â € «компаниясы
жок дегенде бир көз каранды бар жетекчилердин аттарын жаз.
Mgrssn (SSN): = долбоору mgrssn (бөлүмү); Emps_with_deps (SSN): = долбоору essn (көз каранды); Mgrs_with_deps: = (mgrssn emps_with_deps кесилишинде); Alg7: = долбоор lname, fname
(Mgrs_with_deps кызматкерине njoin);

“——————————————————————————————————————————————————

ການແປພາສາສະຫນັບສະຫນູນ: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
ທີ່ກ່ຽວຂ້ອງກັບພຶດຊະຄະນິດ
ເປັນພຶດຊະຄະນິດແມ່ນຫຍັງ?
ພຶດຊະຄະນິດ (al-je, bre) ພາສາ
ຄະນິດສາດ
1 ການຜະລິດຂອງເລກຄະນິດສາດທີ່ສັນຍາລັກ, ປົກກະຕິແລ້ວຕົວອັກສອນຂອງຫນັງສືໄດ້, ເປັນຕົວແທນຈໍານວນຫຼືສະມາຊິກຂອງທີ່ກໍານົດໄວ້ສະເພາະໃດຫນຶ່ງຂອງຕົວເລກແລະທີ່ກ່ຽວຂ້ອງໂດຍດໍາເນີນງານທີ່ຖືສໍາລັບຈໍານວນທັງຫມົດທີ່ກໍານົດໄວ້ໄດ້.
2 A ທີ່ກໍານົດໄວ້ຮ່ວມກັນກັບການດໍາເນີນງານທີ່ກໍານົດໃນທີ່ກໍານົດໄວ້ທີ່ເຊື່ອຟັງກົດຫມາຍກໍານົດໄວ້.
3 ຄໍານໍາສະເຫນີໂດຍນັກຄະນິດສາດແຂກອາຫລັບ al-Khwarizmi (ປະມານ 900 AD) ແລະໄດ້ນໍາເອົາເຂົ້າໄປໃນພາສາລະຕິນໂດຍ Robert ຂອງ Chester ໃນ 1145.

[ກາງພາສາອັງກິດ, ກະດູກ, ການຕັ້ງຄ່າແລະອິຕາລີ, ພຶດຊະຄະນິດ, ທັງຈາກ Medieval ລາຕິນ, ຈາກ Arabic al-jabr, ໄດ້ (ວິທະຍາສາດຂອງ) reuniting:. al, ໄດ້ + jabr, reunification, ກະດູກ, ການຕັ້ງຄ່າ]
ພາສາພຶຊະຄະນິດທໍາມະດາໃນຄອມພິວເຕີ: ພຶດຊະຄະນິດ Boolean ສໍາລັບປະຕູຮົ້ວຕາມເຫດຜົນ; ແລະສາຍພົວພັນພຶດຊະຄະນິດສໍາລັບ DML ຖານຂໍ້ມູນ.
ສ່ວນປະກອບສໍາພື້ນຖານຂອງພຶດຊະຄະນິດການທີ່ກໍານົດໄວ້ (ຕົວຖືກດໍາເນີນ i.e. ) ແລະການດໍາເນີນງານ ( i.e. ຜູ້ປະກອບການ) ທີ່ປະຕິບັດຕາມອົງປະກອບທັງຫມົດຂອງທີ່ກໍານົດໄວ້.
ຄຸນສົມບັດປະຕິບັດການ (ສໍາລັບການຍົກຕົວຢ່າງ, ພິຈາລະນາເປັນຈໍານວນເຕັມກໍານົດໄວ້ແລະປະຕິບັດງານນອກຈາກນັ້ນ) ປະກອບດ້ວຍ: ນອກຈາກນັ້ນແມ່ນ commutative ໃນໄລຍະຈໍານວນເຕັມນັບຕັ້ງແຕ່ 3 + 4 = 4 + 3 (ບວກ (3,4) == ບວກ (43)); ແລະນອກຈາກນັ້ນ, ມີການກ່າວຈະສະມາຄົມໃນໄລຍະຈໍານວນເຕັມນັບຕັ້ງແຕ່ 3 + (4 + 5) = (3 + 4) + 5 (ບວກ (3, ບວກກັບ (4,5)) == ບວກ (ບວກ (3,4), 5 ))).
ລັກສະນະຂອງ Rel. ພຶດຊະຄະນິດ
ມັນ manipulates ການພົວພັນທັງຫມົດໂດຍຜ່ານການ
ທີ່ກໍານົດໄວ້ unambigous ຫມາຍຂອງການດໍາເນີນງານ (Ed
Codd 1970).

ຊຸດທີ່ກ່ຽວຂ້ອງພຶດຊະຄະນິດແມ່ນຄວາມສໍາພັນຂອງ
ການຂະຫຍາຍ (tuples, ແຖວເກັດທີ່ຢູ່) ແລະປະຕິບັດການມີ
ບໍ່ວ່າຈະເປັນກໍານົດຕົ້ນກໍາເນີດທິດສະດີຫລືຄວາມສໍາພັນທີ່ມຸ່ງເນັ້ນ
ເອື້ອອໍານວຍ.

A ການສະແດງອອກພຶຊະຄະນິດທີ່ກ່ຽວຂ້ອງມີປະກອບຫນຶ່ງ
(unary), ຫຼືທັງສອງ (binary), ການພົວພັນແລະບາງຄັ້ງ
ສະພາບການຄັດເລືອກ.
ໃນຂະນະທີ່ຜົນຜະລິດການສະແດງອອກຂອງແມ່ນເປັນສາຍພົວພັນດຽວ.

ລັກສະນະອື່ນໆ:

ຜູ້ປະກອບການພຶດຊະຄະນິດຂອງການເຮັດວຽກກ່ຽວກັບການທັງຫມົດຂອງ tuples ທີ່ກ່ຽວຂ້ອງຂອງ;

ພຶດຊະຄະນິດທີ່ມີຄອມພິວເຕີລະບຽບການ
ຮູບແບບ;

ແຕ່ວ່າມັນບໍ່ແມ່ນ “”Turing ສົມບູນ””, ຫນຶ່ງສາມາດຂຽນເປັນ
ໂຄງການ Pascal ທີ່ manipulates ການພົວພັນສໍາລັບ
ທີ່ບໍ່ມີທຽບເທົ່າພຶຊະຄະນິດ.

ສະພາບການຄັດເລືອກຈະຕ້ອງໄດ້ຖືກປະເມີນ
ແຕ່ລະ tuple ເປັນອິດສະຫຼະ;

ຜົນຜະລິດຂອງການດໍາເນີນງານພຶຊະຄະນິດແມ່ນເປັນ
ການປ້ອນຂໍ້ມູນທີ່ຍອມຮັບກັບພຶຊະຄະນິດຜົນສະທ້ອນ
ການສະແດງອອກ – ນີ້ການສະແດງອອກໄດ້ຖືກເອີ້ນວ່າ
ອົງປະກອບຂອງ.

ຜູ້ປະກອບການ: Union (binary)
ຈະເປັນແນວໃດກ່ຽວກັບປະເພດຂອງການສະແດງອອກພຶຊະຄະນິດທີ່ກ່ຽວຂ້ອງແລະທີ່ກ່ຽວຂ້ອງຂອງຕົນ?
“”ສະຫະພັນ”” ເຂົ້າກັນໄດ້ (uc) ຂອງ TWO ກ່ຽວຂ້ອງສໍາລັບການສະແດງອອກຄູ່, ທັງສອງເຂົ້າຮ່ວມການພົວພັນ (ຖືກດໍາເນີນການ – R1 ແລະ R2) ຕ້ອງມີຂໍ້ຈໍາກັດໂຄງສ້າງດັ່ງຕໍ່ໄປນີ້ສໍາລັບການສະແດງອອກເປັນປະເພດທີ່ຖືກຕ້ອງ: 1) ທັງສອງທີ່ກ່ຽວຂ້ອງໄດ້ລະດັບດຽວກັນ ( ie n) ແລະ 2) ສໍາລັບແຕ່ລະເຫດຜົນ (1 <= i <= n), ໂດເມນທີ່ (R1.Attr_i) = ໂດເມນ (R2.Attr_i). ຊະນິດຂໍ້ມູນຂອງການສະແດງອອກຂອງ IF ສອງການພົວພັນຢູ່ໃນ u.c. ຫຼັງຈາກນັ້ນ, ໂຄງການທີ່ກ່ຽວຂ້ອງຂອງຜົນໄດ້ຮັບແມ່ນຕົນເອງມັກໄດ້ຮັບຄັດເລືອກທີ່ຈະວ່າຂອງຖືກດໍາເນີນຄັ້ງທໍາອິດ. ອື່ນ … (ຕົວຖືກດໍາເນີນການສະເພາະ – ຕົວຢ່າງ: ປະຕິບັດການຜະລິດຕະພັນ) Semantics: ການທີ່ກ່ຽວຂ້ອງມີທັງຫມົດ tuple ໃນປະຈຸບັນໃນບໍ່ວ່າຈະແມ່ນຄັ້ງທໍາອິດ, ຄັ້ງທີສອງຫຼືທັງສອງຢ່າງຖືກດໍາເນີນການ.
ປະເພດ:
ປະເພດຂອງໂຄງການທີ່ກ່ຽວຂ້ອງແມ່ນວ່າຂອງຖືກດໍາເນີນທໍາອິດຖ້າຫາກວ່າທັງສອງການພົວພັນຕົວຖືກດໍາເນີນຢູ່ໃນ u.c.
notation:
R1 U R2 UNION (R1, R2)
commutative ແມ່ນສະມາຄົມ YES
ຜູ້ປະກອບການ: ທີ່ແຕກຕ່າງກັນ (binary)
semantics:
ການທີ່ກ່ຽວຂ້ອງປະກອບມີ tuples ທັງຫມົດຂອງຕົວຖືກດໍາເນີນຄັ້ງທໍາອິດທີ່ບໍ່ແມ່ນປະຈຸບັນໃນຕົວຖືກດໍາເນີນການທີສອງ.
ປະເພດ:
ປະເພດຂອງໂຄງການທີ່ກ່ຽວຂ້ອງແມ່ນວ່າຂອງຖືກດໍາເນີນທໍາອິດຖ້າຫາກວ່າທັງສອງການພົວພັນຕົວຖືກດໍາເນີນຢູ່ໃນ u.c.
notation:
R1 – R2 ປືນ (R1, R2)
NO commutative ບໍ່ມີສະມາຄົມ
ຜູ້ປະກອບການ: ການຄັດເລືອກ (unary)
semantics:
ສ້າງຄວາມສໍາພັນໃຫມ່ໂດຍສະຈາກຕົວຖືກດໍາເນີນການ tuples ທັງຫມົດທີ່ຕອບສະຫນອງເງື່ອນໄຂການຄັດເລືອກ.
ຫນ້າຫລັກ:
ປະເພດຂອງໂຄງການທີ່ກ່ຽວຂ້ອງແມ່ນທຽບເທົ່າກັບ schema ຕົວຖືກດໍາເນີນໄດ້.
A ສະພາບການຄັດເລືອກມີຮູບແບບດັ່ງຕໍ່ໄປນີ້:
ຄຸນສົມບັດຊື່ປຽບທຽບ op. ຄ່າຄົງທີ່ຫຼືຄຸນສົມບັດຊື່ປຽບທຽບ op. ສະແດງຊື່
A ໄລຍະການຂອງສະພາບການຄັດເລືອກສາມາດໄດ້ຮັບການອະນຸຍາດຂອງໃນ condition1 ເລືອກແລະເລືອກ condition2 ຫຼືເລືອກ condition1 OR ເລືອກ condition2
ບາງຜູ້ປະກອບການການປຽບທຽບປົກກະຕິສໍາລັບໂດເມນສັ່ງປະກອບ>, <, ==, =, etc
notation:
(ເລືອກພາບ) R1 SELECT (R1, ສະພາບການຄັດເລືອກ)
ຫມາຍເຫດ:
ຜົນໄດ້ຮັບແມ່ນເປັນລະບົບຍ່ອຍຂອງຕົວຖືກດໍາເນີນການ!

commutative ແມ່ນສະມາຄົມ YES
ທີ່ກ່ຽວຂ້ອງກັບພຶດຊະຄະນິດ: ຜູ້ປະກອບການ: ຜະລິດຕະພັນ (binary)
semantics:
ສ້າງຄວາມສໍາພັນໃຫມ່ໂດຍປະຕິບັດຜະລິດຕະພັນ Cartesian
ຂອງທັງສອງຖືກດໍາເນີນການ.
(ຖ້າຫາກວ່າ Cardinal ຂອງ R1 ແລະ R2 ທີ່ມີ 60000 ແລະ 500
ຕາມລໍາດັບ, ສຽງຜະລິດຕະພັນຂອງເຂົາເຈົ້າແມ່ນ 60000 * 500 =
3,000,000!)

ປະເພດ:
ໄດ້ຖືກດໍາເນີນການສາມາດມີ schema ສາຍພົວພັນໃດໆ. The schema ທີ່ກ່ຽວຂ້ອງແມ່ນທຽບເທົ່າກັບ concatenation ຂອງ schema ທີ່ກ່ຽວຂ້ອງຖືກດໍາເນີນໄດ້.
notation:
ນີ້ເປັນທີ່ສຸດມີລາຄາແພງ computationally
ການດໍາເນີນງານ!
ນອກຈາກນີ້, ການຂະຫຍາຍຜົນໄດ້ຮັບແມ່ນບໍ່ປົກກະຕິແລ້ວມີຄວາມຫມາຍ !!

commutative Yes
ສະມາຄົມແມ່ນ

ຜູ້ປະກອບການເຊັ່ນ: ໂຄງການ (unary)
semantics:
ສ້າງຄວາມສໍາພັນໃຫມ່ໂດຍການຖອນຈາກຕົວຖືກດໍາເນີນການຄຸນລັກສະນະທັງຫມົດ (ແລະຜົນສະທ້ອນຄ່າຂອງເຂົາເຈົ້າ) ທີ່ບໍ່ໄດ້ກ່າວເຖິງໃນການສະແດງອອກການຄາດຄະເນໄດ້.
ປະເພດ:
ປະເພດຂອງໂຄງການຜົນໄດ້ຮັບແມ່ນທຽບເທົ່າກັບ schema ຕົວຖືກດໍາເນີນຂອງແຕ່ບໍ່ລວມເຖິງຄຸນລັກສະນະບໍ່ໄດ້ກ່າວເຖິງໃນບັນຊີລາຍການໃຫ້ເຫດຜົນ.
notation:
(attr … x1, … , attr_xn) ໂຄງການ (R1, attr_x1, … , attr_xn)
ຫມາຍເຫດ:
ຄ່າຊ້ໍາຖືກໂຍກຍ້າຍອອກໂດຍປະລິຍາຍ!
ຫມາຍເຫດເພີ່ມເຕີມ:
ໃນການສະແດງອອກພຶຊະຄະນິດທີ່ມີຊ່ອຍແນ່ຂອງໂຄງການພວກເຮົາມີສອງສິ່ງທີ່ເຮົາສຸດ – ປັບປຸງໂຄງສ້າງແລະ Re: ການຂະຫຍາຍ !! ມີການຫມູນໃຊ້ພຶຊະຄະນິດທີ່ແນ່ນອນມີໃຜສາມາດເອົາຊະນະຂໍ້ຈໍາກັດເຫຼົ່ານີ້.
commutative (ໂດຍທົ່ວໄປ) ບໍ່ມີສະມາຄົມ (ໂດຍທົ່ວໄປ) ບໍ່ມີ
ທີ່ກໍານົດໄວ້ຫນ້ອຍທີ່ຂອງຜູ້ປະກອບການ
ມັນກໍສາມາດໄດ້ຮັບການສະແດງໃຫ້ເຫັນວ່າເປັນສ່ວນຍ່ອຍຂອງຜູ້ປະກອບການນໍາສະເຫນີ (ໂດຍສະເພາະການຄັດເລືອກ, ໂຄງການ, ສະຫະພາບ, ຄວາມແຕກຕ່າງກັນແລະຜະລິດຕະພັນ) ມີພຽງພໍ, ຫຼືສົມບູນ, ເພື່ອອະທິບາຍປະກອບການອື່ນໆ (ສໍາລັບການຍົກຕົວຢ່າງເຂົ້າຮ່ວມ, ການຕັດແລະອື່ນໆ).
ການນໍາໃຊ້ສະເພາະຂອງຜູ້ປະກອບການຈາກທີ່ກໍານົດໄວ້ສໍາເລັດສົມບູນເຮັດໃຫ້ການອ່ານການສະແດງອອກພຶຊະຄະນິດບາງທໍາມະຊາດ unyielding ທີ່ສຸດ!
ສໍາລັບການຍົກຕົວຢ່າງ, ປະຕິບັດການຕັດກັນມີຮູບແບບນີ້:
ຖະຫນົນຕັດກັນ (R1, R2)
ແມ່ນທຽບເທົ່າກັບປືນ (UNION (R1, R2), ສະຫະພັນ (ລູກປືນ (R1, R2), (ລູກປືນ (R2, R1)))
ຫຼືເທົ່າກັບ
ປືນ (R1, ປືນ (R1, R2))
ວ່າເປັນຫຍັງເປັນພຶດຊະຄະນິດ?
ເປັນພາສາທີ່ງ່າຍດາຍ
ທີ່ກໍານົດໄວ້ສາມາດເຂົ້າເຖິງທີ່ໃຊ້ເວລາ
ສຽງຫມາຍ
ສະແດງການສອບຖາມດຽວກັນກັບທີ່ອະທິບາຍອື່ນທີ່ກ່ຽວຂ້ອງພາສາແບບຢ່າງຕາມ
( i.e. ການ calculus ທີ່ກ່ຽວຂ້ອງທີ່ປະກາດ)
ລະບຽບການ
Optimisation
ແບບສອບຖາມ (ຫນຶ່ງ) ເປັນ€ “”ບໍລິສັດ
ມາຫຼັງຈາກນັ້ນຊື່ແລະທີ່ຢູ່ຂອງພະນັກງານທັງຫມົດທີ່ເຮັດວຽກສໍາລັບການພະແນກ€~Research’.
research_dept: = ເລືອກ dname = A €™Researcg’ (ພະແນກ)
research_dept_emps: = ເລືອກ dnumber = DNO (ພະນັກງານຜະລິດຕະພັນ research_dept)
algl1: = fname ໂຄງການ, lname, ທີ່ຢູ່ (research_dept_emps)
ແບບສອບຖາມ (ສອງ) ເປັນ€ “”ບໍລິສັດ
ສໍາລັບທຸກໂຄງການຕັ້ງຢູ່ໃນ€~Stafford’, ບອກຈໍານວນໂຄງການ, ຈໍານວນພະແນກການຄວບຄຸມ, ແລະmanagerâພະແນກ€™ s ສຸດທ້າຍຊື່, ທີ່ຢູ່, ແລະວັນເດືອນປີເກີດ.
Stafford, _projs: = ເລືອກ plocation = A €™Stafford’ (ໂຄງການ);
Contr_dept: = ເລືອກ dnum, dnumber (Stafford_projs ພະແນກຜະລິດຕະພັນ)
proj_dept_mgr: = ເລືອກ mgrssn = ssn (ພະນັກງານຜະລິດຕະພັນ contr_dept)
alg2: = ໂຄງການ pnumber, dnum, lname, ທີ່ຢູ່, bdate (proj_dept_mgr)
ແບບສອບຖາມ (ສາມ) ເປັນ€ “”ບໍລິສັດ
ຊອກເອຊື່ຂອງພະນັກງານຜູ້ທີ່ເຮັດວຽກກ່ຽວກັບໂຄງການທັງຫມົດທີ່ສາມາດຄວບຄຸມຈໍານວນພະແນກ 5.
Dept5_projs (PNO): = pnumber ໂຄງການ (ເລືອກ dnum = 5 (ໂຄງການ)) emp_proj (SSN, PNO): = Essn ໂຄງການ, PNO (works_on) emp_proj_ssns: = ssn ໂຄງການ (emp_proj) % ຈະເປັນໄປໄດ້ທັງຫມົດຂອງພະນັກງານເຮັດວຽກກ່ຽວກັບໂຄງການ dept5. Poss_emps_dept5: = (dept5_projs emp_proj_ssns ຜະລິດຕະພັນ) /% ພະນັກງານທີ່don’ s ເຮັດວຽກກ່ຽວກັບໂຄງການທັງຫມົດ dept5 .. emps_not_dept5: = ssn ໂຄງການ (poss_emps_dept5 ຄວາມແຕກຕ່າງກັນ emp_proj) result_emp_ssns: = emp Proj ເລກ SSN ຄວາມແຕກຕ່າງກັນ emps_not_dept5; alg3: = ໂຄງການ lname, fname (result_emp_ssns njoin ພະນັກງານ)
ແບບສອບຖາມ (ສີ່) ເປັນ€ “”ບໍລິສັດ
ເຮັດໃຫ້ບັນຊີລາຍຊື່ຂອງຈໍານວນໂຄງການສໍາລັບໂຄງການທີ່ມີສ່ວນຮ່ວມຂອງພະນັກງານທີ່ມີນາມສະກຸນເປັນ€~Smith’ເປັນ, ບໍ່ວ່າຈະເປັນພະນັກງານຫຼືເປັນຜູ້ຈັດການຂອງພະແນກທີ່ຄວບຄຸມໂຄງການ.
Smiths (Essn): = ssn ໂຄງການ (ເລືອກ lname = ເປັນ€~Smith’ (ພະນັກງານ))
smith_worker_projs: = PNO ໂຄງການ (works_on njoin Smith);
mgrs: = lname ໂຄງການ, dnumber (ເລືອກ ssn = mgrssn (ພະນັກງານພະແນກຜະລິດຕະພັນ))
smith_mgrs: = selecy lname = A €™Smith’ (mgrs)
smith_managed_depts (dnum): = ໂຄງການ dnumber (smith_mgrs)
smith_mgr_projs (PNO): = ໂຄງການ pmumber (smith_managed_depts njoin ໂຄງການ);
alg3: = smith_worker_projs smith_mgr_projs ສະຫະພາບ;
ແບບສອບຖາມ (ຫ້າ) ເປັນ€ “”ບໍລິສັດ
ລາຍຊື່ຂອງພະນັກງານທັງຫມົດທີ່ມີສອງຫຼືຫຼາຍຂຶ້ນ.
% ເຮັດໃຫ້ສອງສໍາເນົາຂອງພະນັກງານທີ່ມີຂຶ້ນກັບທ່ານ.
Empdep1 (Essn, depname1): = Essn ໂຄງການ, dependent_name (ຂຶ້ນ);
empdep2 (essn2, depname2): = empdep1;
ແລະພະນັກງານທີ່ມີຫຼາຍກ່ວາຫນຶ່ງຂຶ້ນ.
Emps_gtone_dep (SSN): = essn1 ໂຄງການ (ເລືອກ (Essn = essn2) ແລະ (depname1 <> depname2) (empdep1 empdep2 ຜະລິດຕະພັນ))
alg5: = lname ໂຄງການ, fname (ພະນັກງານ njoin EMPS) gtone_dep)
ແບບສອບຖາມ (ຫົກ) – ບໍລິສັດ
ເອີ້ນຊື່ຂອງພະນັກງານທີ່ບໍ່ມີການເອື່ອຍອີງການ.
All_emps: = ssn ໂຄງການ (ພະນັກງານ) Emps_with_deps (SSN): = Essn ໂຄງການ (ຂຶ້ນ); Emps_without_deps: = (all_emps
emps_with_deps ຄວາມແຕກຕ່າງກັນ) Alg6: = lname ໂຄງການ, fname
(emps_without_deps njoin ພະນັກງານ)
ແບບສອບຖາມ (ເຈັດ) ເປັນ€ “”ບໍລິສັດ
ລາຍຊື່ຂອງຜູ້ຈັດການຜູ້ທີ່ມີຢ່າງຫນ້ອຍຫນຶ່ງຂຶ້ນກັບການ.
Mgrssn (SSN): = mgrssn ໂຄງການ (ພະແນກ) Emps_with_deps (SSN): = Essn ໂຄງການ (ຂຶ້ນ); Mgrs_with_deps: = (mgrssn ຕັດ emps_with_deps) Alg7: = lname ໂຄງການ, fname
(mgrs_with_deps njoin ພະນັກງານ)

“——————————————————————————————————————————————————

Support Translation: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
Relational Algebra
C. Quid est?
Lingua (al-Je-bre) verb
Mathematics
I A general arithmeticae symbola quibus plerumque litterarum, certa quadam numerorum sive numerum referri operationes habent omnes numeri in copia.
II dicitur a paro cum opus in eo set legibus, statutis obedire.
III Verbum Arabs mathematicus al-introducta a Khwarizmi (circa AD CM), et in latina by Robertus Cestrensis in MCXLV.

[Middle English, Italian, et os occasum, algebra, et de Medieval Latin, de al-Arabic Jabr, et (scientia) reuniting: omnis, qui Jabr +, reunification, os occasum.]
Algebraicam linguarum sunt in communi Computing: algebra enim ratio Boolean portas; et Relational algebra enim database DML.
Sunt a paro of basic ingredientia in Algebra (i.e. operand) et opera (i.e. operariorum), quod omnia elementa agunt in statuto.
Opera quaedam (nam exemplo, considerate integer erexit et praeter operationem) includit: cum additione partis integri in III IV + + = IV III (plus (3,4) == plus (4,3)); integri cum dicitur de componendo consuetudinis III (IV + V) (+ III IV) V (et (III, plus (4,5)) == plus (plus (3,4) V ))).
Characteres et Pub. Latina
Sed totum id diiudicare per relationes
semantically unambigous paro operationes (ed
Codd MCMLXX).

C. occidit in relativis secundum esse est scriptor
extensio (tuples, ordine) et operators habere
set est speculativa vel secundum originem, vel accumsan
favent.

Algebraica, sicut a respectiva habeat et inputs
(Unary), vel (binarii), nonnunquam etiam relationes
delectu conditionis.
Et vox de output uno relatio est.

Alia indicia:

in Algebra operariorum opus est in omnibus quantum est tuples;

in Algebra habet rationem ratiocinativae
exemplar;

Non est “”Turing plenum» potest scribere
Pascal progressio abutuntur, quod ad relationes,
quae algebraicae non valet.

In condicione aestimanda est contra
tuple extra se;

operatio non est algebraica coacervatum
input et inde acceptus est algebraica,
dicitur – est verbum hoc
compositionis.

Operators: Union (binarii)
Quid est enim a relativis typing algebraicam, et inde in se?
“”Unionem”” convenientiae (uc) binarius in duas relationes enim dicitur, quod duae relationes participatione (operands – R2 et R1) oportet in fabrica secundum ad necessitatibus expressio erit ratio ut sequitur: I), et eodem modo se habent ( id est, de qua n); & II) quodlibet attributum est (I <i <n) dominium (R1.Attr_i) dominium (R2.Attr_i). Of notitia type signum, si ad duas relationes in u.c. Schema inde habebitur relatio arbitraria electione primorum operand. Alius … (operand secundum speciem – exempli Product operator) semantics: et inde in se habet omnes tuple aut est primus, aut secundus operands.
typing:
Et inde se schema est, ut in primo genere signi, si relationes sunt et in operand u.c.
notatio:
U R1 R2 unio (R1, R2)
commutativa associative ETIAM ETIAM
Operators: Differentia (binarii)
Semantics:
Et inde omnia in se complectitur primo tuples operand secundum quod sunt in operand.
typing:
Et inde se schema est, ut in primo genere signi, si relationes sunt et in operand u.c.
notatio:
R1 – R2 diff (R1, R2)
no nulla consuetudinis commutativa
Operators: Libri (unary)
semantics:
Partum a novus ordine per extractionem ex omnibus operand tuples delectu conditionis, ut impleret.
Tuples:
Quod genus inde se schema est equivalent ad schema in operand.
Legio condicio sub hac forma:
Attribuunt nomen Comparison op. Constans sive attributi nomen Comparison op. nomen attribuimus
A series de Lorem ut in ea posset una et lego Lego Condition1 condition2 Condition1 or select or select condition2
Operariorum similitudine aliqua typicam pro dominicis include iussit> <==, = etc
notatio:
(Select statu) R1 Select (R1, lectio habitus)
Note:
Et inde est subset operand!

commutativa associative ETIAM ETIAM
Relational Latina: Operator: Product (binarii)
semantics:
Partum a novus ordine administrandis per productum Cartesianismus
duo operands.
(Si de cardinalities R1, et R2 et D sunt (LX)
respective, productum est scriptor cardinality (LX) * D =
3,000,000)

typing:
Potest habere habitudinem operands est schema. Et inde se schema est, ut in equivalent de iunctura in operand secundum schema.
notatio:
Hoc est valde carus computationally
operation!
Et, quod consequens est, non solet significatione extensionis !!

sed commutativae
Etiam associative

Operators: system (unary)
semantics:
Partum a nova habitudo operand removendo omnia insunt (proinde bona) quae non sunt scriptae in proiectura exprimuntur.
typing:
Inde est quod huiusmodi schema, quod est equivalent ad schema operand excludit passiones, sed non in album est accidens.
notatio:
(… Attr x1, …, attr_xn) Project (R1, attr_x1, …, attr_xn)
Note:
Duplicate implicite remota sunt bona!
Praeterea Notes:
In filo algebraica duo nobis opera geruntur – et rursus usque bibendum !! Cum quidam algebraica haec tractanda nemo potest restrictiones.
commutativa (generaliter) No associative (generaliter) No
Set minimus ex operariorum
Quae restant, ut potest ostendi ex operariorum (specie selectis, project, Unione, discrimine et uber) es satis, seu completum usque ad describere aliis operariorum (nam exemplo suo, intersectio etc).
A plena statuto de exclusive usum operariorum facies algebraica naturalis lectio dicitur maxime Lentus!
Exempli gratia operante intersectionis huius formae
DECUSATIO (R1, R2)
aequivalet diff (Unionis (R1 R2) unio (diff (R1 R2) (diff (R2 R1)))
vel equivalent ad
Diff (R1 diff (R1 R2))
C. Quid est?
a simplex lingua,
set a tempore accedere
vox semantically
Idem alio quaero, quod exemplar relationis ex verbis describit,
(I.e. in calculus declarat relationis)
processualibus,
optimisable
Query (one) â € “”Company
Penatibus et nomen et alloquio omnium ~Researchâ € ™ â € Donec elit facientibus.
research_dept: Select dname = = € ™, â € ™ Researcgâ (dolor);
research_dept_emps: Select dnumber = = dno (Product research_dept molestie);
algl1: fname = project, lname, oratio (research_dept_emps);
Query (duo) â € “”Company
Omnis enim project sita in ~Staffordâ € ™, â €, enumerare Project numero, et numerus controlling dolor et dolor managerâ € ™ s denique nomen, inscriptio, et Bio.
Stafford, _projs: Select plocation = = € ™, â € ™ Staffordâ (consilia);
Contr_dept: dnum, dnumber = Selecta (Stafford_projs dolor productum);
proj_dept_mgr: Select mgrssn = = SSN (Product contr_dept molestie);
alg2: pnumber = project, dnum, lname, oratio, bdate (proj_dept_mgr);
Query (tribus) â € “”Company
Find nomina conductos operarios in omni genere regi Projects V numero.
Dept5_projs (pno) = pnumber Project (select dnum = V (consilia)); emp_proj (SSN, pno) = essn project, pno (works_on); emp_proj_ssns: SSN = Project (emp_proj); % Omnes facultates dept5 utor opus in exertus. Poss_emps_dept5: (Product dept5_projs emp_proj_ssns) / Dona € ™ s% conductos quod opus in omnibus inceptis dept5 .. emps_not_dept5: SSN = Project (poss_emps_dept5 differentia emp_proj); result_emp_ssns: emp = proj ssns emps_not_dept5 differentia; alg3: lname = project, fname (result_emp_ssns njoin molestie);
Query (quattuor) â € “”Company
Project Recenseantur numeros quorum opera pertinent molestie nibh ~Smithâ € € ™ est, Aut amet aut ex parte, quasi in anno mercenarii moderatur voluptua.
Fabrorum (essn) = SSN Project (select lname = € ™, â € ~Smithâ (molestie));
smith_worker_projs: pno = Project (works_on njoin clusores);
mgrs: lname = project, dnumber (select SSN = mgrssn (Product molestie department));
smith_mgrs: selecy lname = = € ™, â € ™ Smitha (mgrs);
smith_managed_depts (dnum) = dnumber Project (smith_mgrs);
smith_mgr_projs (pno) = pmumber Project (smith_managed_depts njoin inceptis);
alg3: smith_mgr_projs = smith_worker_projs unionem;
Query (quinque) â € “”Company
List duabus aut pluribus nominibus velit valeant.
% Cum clientibus duos codices elit.
Empdep1 (essn, depname1) = essn project, dependent_name (ab);
empdep2 (essn2, depname2) = empdep1;
& Alterum plus quam conductos operarios.
Emps_gtone_dep (SSN) = essn1 Project (select (= essn essn2) et (depname1 <> depname2) (Product empdep1 empdep2));
alg5: lname = project, fname (molestie njoin emps) gtone_dep);
Query (sex) – Company
Cras velit, qui ad nomina non valeant.
All_emps: SSN = Project (molestie); Emps_with_deps (SSN) = essn Project (ab); Emps_without_deps: (all_emps
Differentia emps_with_deps); Alg6: lname = project, fname
(Emps_without_deps njoin molestie);
Query (septem) â € “”Company
Mancipes List nomina saltem alterum.
Mgrssn (SSN) = mgrssn Project (dolor); Emps_with_deps (SSN) = essn Project (ab); Mgrs_with_deps: (mgrssn secet emps_with_deps); Alg7: lname = project, fname
(Mgrs_with_deps njoin molestie);

“——————————————————————————————————————————————————

Atbalsts translation: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
relāciju algebra
Kas ir algebra?
algebra (al-je-bre) lietvārds
matemātika
1 A vispārināšana aritmētiskās kurā simboli, parasti alfabēta burti, pārstāv numurus vai locekļus konkrētas kopa numurus un ir saistīti ar darbībām, kas tur uz visiem numuriem komplektā.
2 A, kas kopā ar definētajiem komplektā kas paklausa norādītos likumus operācijām.
3. Vārdu iepazīstināja ar arābu matemātiķis al-Khwarizmi (ap 900 AD) un atveda uz latīņu ar Robert no Chester 1145.

[Middle English, kaulu noteikšana un itāļu, algebra, gan no viduslaiku latīņu, no arābu al-jabr, tad (zinātne) atkalapvienošanai. Al, to + jabr, atkalapvienošanos, kaula noteikšanu]
Algebrisko valodas ir izplatīta skaitļošanas: Būla algebra par loģika vārti; un Relāciju algebra datu bāzē BDL.
Pamata sastāvdaļas algebra ir kopums (proti operanda) un operācijas (t.i. operatoriem), kas darbojas uz visiem komplekta elementiem.
Operatoru īpašības (piemēram, uzskatīt veselu skaitli komplektu un pievienojot operāciju) ietver: Addition ir commutative pāri integers kopš 3 + 4 = 4 + 3 (plus (3,4) == plus (4,3)); un Papildinājums tiek uzskatīta asociatīvā pār veseliem skaitļiem, jo 3 + (4 + 5) = (3 + 4) + 5 (plus (3, plus (4,5)) == plus (plus (3,4), 5 ))).
Raksturojums Rel. algebra
Tas manipulē visu attiecības caur
semantiski unambigous darbību kopums (Ed
Codd 1970).

Relāciju algebra ir kopas ir attiecības s
pagarinājums (tuples, rindas) un operatoriem ir
nu noteikt teorētisku izcelsme vai saistība orientētas
labu.

Relāciju algebriskā izteiksme ir kā izejvielas vienu
(Unāro) vai divi (binārā), attiecības un dažreiz
atlase stāvoklis.
Lai gan izteiciens izejas ir viens attiecības.

Citas īpašības:

algebra operatoriem strādāt par visiem Attiecības ir tuples;

algebra ir procesuāla skaitļošanas
modelis;

Bet tas nav “”Turing pilnīga””, var rakstīt
Pascal programma, kas manipulē attiecības par
kas nav algebrisko ekvivalents.

atlases nosacījums ir jāizvērtē pret
katrā vektorā neatkarīgi;

izejas algebrisko operācijas ir
pieņemams ievade ar sekojošu algebriskā
izteiksme – to sauc izteiksme
kompozīcija.

Operatori: Union (binārā)
Kas par rakstīt par relāciju algebriskās izteiksmes un tās izrietošo saistībā?
“”UNION”” savietojamībai (uc) no divām attiecību bināro izteiksmi, abas iesaistītās attiecības (operandiem – R1 un R2) jābūt šādām strukturālos ierobežojumus par izteicienu, ir veids pareizs: 1) abu attiecības ir tikpat ( ti, n); Un 2) par katru atribūtu (1 <= i <= n), domēna (R1.Attr_i) = domēnu (R2.Attr_i). Datu tipu izpausme ir, ja abas attiecības ir u.c. Tad attiecības shēma no iegūtajām ir patvaļīga izvēlējusies būt, ka pirmā operands. VĒL … (operands īpašs – piemēram, produktu operators) semantika: Iegūtais saistība ir visas Tuple klāt vai nu pirmajā, otrajā vai abas operandiem.
rakstīt:
No tā izrietošo attiecību shēmu veids ir tas, ka no pirmās operands ja abas operanda attiecības ir u.c.
Apzīmējumi:
R1 U R2 UNION (R1, R2)
commutative JĀ JĀ asociatīvais
Operatori: Starpība (binārā)
semantika:
Iegūtais saistība ietver visas tuples pirmā operanda, kas nav klāt otrajā operands.
rakstīt:
No tā izrietošo attiecību shēmu veids ir tas, ka no pirmās operands ja abas operanda attiecības ir u.c.
Apzīmējumi:
R1 – R2 Diff (R1, R2)
commutative NO asociatīvais NO
Operatori: Selection (unāro)
semantika:
Izveidot jaunu saistību, ekstrahējot no operands visas tuples kas atbilst atlases nosacījumus.
tuples:
No tā izrietošo attiecību shēmas veids ir līdzvērtīgs operanda s shēmu.
Izlase stāvoklis ir šādu formu:
Īpašības vārds salīdzinājums op. Constant vērtība vai īpašības vārdu salīdzinājums op. atribūta nosaukums
Virkne atlases nosacījumiem varētu apvienot kā izvēlieties CONDITION1 un izvēlieties CONDITION2 vai izvēlieties CONDITION1 vai izvēlieties CONDITION2
Daži tipiski salīdzināšanas operatori pasūtīto domēnu ietver>, <, ==,! = Utt
Apzīmējumi:
(Izvēlieties nosacījums) R1 SELECT (R1, atlase nosacījums)
Piezīme:
Iegūtais ir apakškopa operands!

commutative JĀ JĀ asociatīvais
Relāciju algebra: Operatori: Product (binārā)
semantika:
Izveidot jaunu saistību izpildot Dekarta produkts
no diviem operandiem.
(Ja cardinalities no R1 un R2 ir 60000 un 500
attiecīgi, viņu produkts ir cardinality ir 60000 * 500 =
3,000,000!)

rakstīt:
Operandiem var būt nekāda sakara shēmu. Iegūtais saistība shēma ir līdzvērtīgs konkatenācija operanda s attiecību shēmu.
Apzīmējumi:
Tas ir ļoti dārgs skaitļošanas
darbība!
Arī iegūtais paplašinājums parasti nav jēga !!

commutative Jā
asociatīvais Jā

Operatori: Projekcijas (unāro)
semantika:
Izveidot jaunu attiecības, noņemot no operands visi atribūti (un līdz ar to vērtības), kas ir ar projekcijas izteiksmes nav minēti.
rakstīt:
No iegūtā shēmas veids ir līdzvērtīgs operanda ir shēmas, bet izņemot atribūtus atribūta sarakstā nav minēti.
Apzīmējumi:
(Attr … X1, …, attr_xn) PROJECT (R1, attr_x1, …, attr_xn)
Piezīme:
Duplicate vērtības netieši noņemts!
Turklāt norāda:
In algebrisko izteiksmi ar virkni projektu mums ir divas lietas notiek – pārstrukturizācijai un paplašinot !! Ar dažiem algebrisko manipulācijas var pārvarēt šos ierobežojumus.
commutative (vispār) Nr asociatīvi (kopumā) Nr
Minimāla komplekts operatoru
To var pierādīt, ka apakškopu iesniegtajiem uzņēmēju (konkrētāk izvēlieties, projektu, arodbiedrību, atšķirība un produkts) ir adekvāti, vai pilnīga, lai aprakstītu citiem operatoriem (piemēram pievienoties, krustojumā uc).
Ekskluzīva lietošana uzņēmēju no komplektā padara lasījums daži dabas algebriskās izteiksmes ļoti nepiekāpīgs!
Piemēram, krustojumā operatoram ir šo formu:
Kur krustojas (R1, R2)
ir ekvivalents DIFF (SAVIENĪBAS (R1, R2), Union (Diff (R1, R2), (izmaiņas (R2, R1)))
vai ekvivalents
Diff (R1, DIFF (R1, R2))
Kāpēc algebra?
vienkārša valoda
noteikta laika piekļuvi
semantiski skaņa
pauž tos pašus jautājumus, kas cita relāciju modelis balstās valodā apraksta
(Piemēram deklaratīva relāciju calculus)
procesuāls
optimisable
Vaicājumu (vienu) â € “”Company
Atgūt tad vārds un adrese, visiem darbiniekiem, kas strādā par â € ~Researchâ € ™ departamentā.
research_dept: = izvēlieties dname = â € ™ Researcgâ € ™ (departaments);
research_dept_emps: = izvēlieties dnumber = DNO (research_dept produkts darbinieku);
algl1: = projekts fname, lname, adrese (research_dept_emps);
Vaicājumu (divi) â € “”Company
Par katru projektu, kas atrodas € ~Staffordâ € ™, uzskaitīt projekta numuru, kontroles nodaļa numuru un departamenta managerâ € ™ s uzvārds, adrese, un dzimšanas.
Stafford-_projs: = izvēlieties plocation = â € ™ Staffordâ € ™ (projekti);
Contr_dept: = izvēlieties dnum-dnumber (Stafford_projs produkts departaments);
proj_dept_mgr: = izvēlieties mgrssn = SSN (contr_dept produkts darbinieks);
alg2: = projekts pnumber, dnum, lname, adrese, bdate (proj_dept_mgr);
Vaicājumu (trīs) â € “”Company
Atrast vārdus, darbiniekiem, kas strādā par visiem projektiem, ko kontrolē nodaļas numuru 5.
Dept5_projs (PNO): = projekts pnumber (izvēlēties dnum = 5 (projektus)); emp_proj (SSN, PNO): = projekts essn, PNO (works_on); emp_proj_ssns: = projekts SSN (emp_proj); % Visi darbinieku iespējas strādā uz dept5 projektiem. Poss_emps_dept5: = (dept5_projs produktu emp_proj_ssns) /% darbinieku, iemīlētā € ™ s darbu pie visiem dept5 projektiem .. emps_not_dept5: = projekts SSN (poss_emps_dept5 atšķirība emp_proj); result_emp_ssns: = EMP PROJ ssns atšķirība emps_not_dept5; alg3: = projekts lname, fname (result_emp_ssns njoin darbinieks);
Vaicājumu (četri) â € “”Company
Izveidojiet sarakstu ar projektu skaitu projektiem, kas iesaista darbinieks, kura uzvārds ir â € ~Smithâ € ™, nu kā darba ņēmējs vai kā vadītājs departamenta, kas kontrolē projektu.
Smiths (essn): = projekts SSN (izvēlēties lname = â € ~Smithâ € ™ (darbinieks));
smith_worker_projs: = projekts PNO (works_on njoin kalēji);
mgrs: = projekts lname, dnumber (izvēlēties SSN = mgrssn (darbinieks produkts departaments));
smith_mgrs: = selecy lname = â € ™ Smithâ € ™ (mgrs);
smith_managed_depts (dnum): = projekts dnumber (smith_mgrs);
smith_mgr_projs (PNO): = projekts pmumber (smith_managed_depts njoin projektiem);
alg3: = smith_worker_projs savienība smith_mgr_projs;
Vaicājumu (pieci) â € “”Company
Uzskaitiet nosaukumus visiem darbiniekiem, ar diviem vai vairākiem apgādājamiem.
% Make divas kopijas darbinieku ar apgādājamajiem.
Empdep1 (essn, depname1): = projekts essn, dependent_name (apgādībā);
empdep2 (essn2, depname2): = empdep1;
& Darbinieki ar vairāk nekā vienu apgādībā.
Emps_gtone_dep (SSN): = projekts essn1 (izvēlieties (essn = essn2) un (depname1 <> depname2) (empdep1 produkts empdep2));
alg5: = projekts lname, fname (darbinieks njoin emps) gtone_dep);
Vaicājumu (seši) – Kompānija
Ielādēt vārdus darbinieku, kuriem nav apgādājamo.
All_emps: = projekts SSN (darbinieks); Emps_with_deps (SSN): = projekts essn (apgādībā); Emps_without_deps: = (all_emps
Starpība emps_with_deps); Alg6: = projekts lname, fname
(Emps_without_deps njoin darbinieks);
Vaicājumu (septiņi) â € “”Company
Uzskaitiet vārdus vadītāji, kuriem ir vismaz viens apgādājamais.
Mgrssn (SSN): = projekts mgrssn (departaments); Emps_with_deps (SSN): = projekts essn (apgādībā); Mgrs_with_deps: = (mgrssn krustojas emps_with_deps); Alg7: = projekts lname, fname
(Mgrs_with_deps njoin darbinieks);

“——————————————————————————————————————————————————

Pagalba vertimas: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
reliacinė algebra
Kas yra algebra?
algebros (Al-je-BRE) daiktavardis
matematika
1 A aritmetika apibendrinimas, kurioje simboliai, dažniausiai abėcėlės raidės, atstovauti numerius arba narius konkretų skaičių rinkinio ir sieja operacijų, turinčių visų skaičių rinkinį.
2 rinkinys, kartu su apibrėžtomis rinkinį, kad paklusti kurie apibrėžti įstatymų operacijas.
3 Žodis pristatė Arabų matematikas al-Khwarizmi (maždaug 900 AD) ir atnešė daugiau nei į lotynų pateikė Robert iš Chester 1145.

[Artimųjų Anglų, kaulų nustatymas ir italų, algebros, tiek iš viduramžių lotynų, iš arabų al jabr jo (mokslas) susijungti. Al, prie + jabr, susijungimą, kaulų nustatymą]
Algebrinė kalbos yra bendros kompiuterija: Būlio algebra logika vartai; ir reliacinių duomenų bazių algebra DML.
Pagrindiniai ingredientai algebra yra rinkinys (t operando) ir operacijas (pvz operatoriai), kurie veikia ant visų rinkinio elementais.
Operatoriaus savybės (pavyzdžiui, apsvarstyti sveikasis skaičius nustatytas ir papildymus operaciją) yra: papildymas yra jungiamas per sveikieji skaičiai nuo 3 + 4 = 4 + 3 (plius (3,4) == plius (4,3)); ir papildymas sako, kad asociatyvi per sveikieji skaičiai nuo 3 + (4 + 5) = (3 + 4) + 5 (plius (3, plius (4,5)) == plius (plius (3,4), 5 ))).
Charakteristikos rel. algebra
Jis manipuliuoja visą santykius per
semantiškai unambigous rinkinys operacijos (Edas
Codd 1970).

Reliacinės algebros anketa rinkiniai santykis s
priauginimas (Kortežai, eilutės) ir operatoriai
arba nustatyta teorinė kilmę arba santykis orientuota
pirmenybę.

Reliacinė algebrinė išraiška yra skirta, sąnaudomis vieną
(Vienetinis) arba du (dvejetainis), santykiai ir kartais
Atrankos sąlyga.
Nors išraiška anketa produkcija yra viena santykis.

Kitos charakteristikos:

algebra anketa operatoriai dirbti visi santykis anketa tuples;

algebra turi procesinę skaičiavimo
modelis;

Bet tai ne “”Tiuringo užbaigta””, galima parašyti
Pascal programa, kuri manipuliuoja santykių
kuris nėra algebrinės ekvivalentas.

atrankos sąlyga turi būti vertinama pagal
kiekvienas kortežas savarankiškai;

iš algebrinės operacijos galingumas yra
priimtinas indėlis į lemdavo Algebrinė
išraiška – tai vadinama išraiška
sudėtis.

Operatoriai: Sąjungos (dvejetainis)
Ką apie reliacinės Algebrinė raiškos spausdinimu ir jo sukeltos atžvilgiu?
“”Sąjunga”” suderinamumas (UC) iš dviejų santykių dvejetainis išraiškos, du dalyvaujantys santykiai (operandai – R1 ir R2) turi turėti šiuos struktūrinius suvaržymus pasakymas, tipo informacija: 1) abu santykiai turi tą patį laipsnį ( ty n); & 2) kiekvienos savybės (1 <= i <= n), domenas (R1.Attr_i) = domeną (R2.Attr_i). DUOMENŲ TIPAS išraiška s, jei du santykiai yra Mažąsias raides Tada santykis schemos Gauto yra savavališkas pasirinko būti, kad pirmojo operando. DAR … (operandas specifinis – pvz produktas operatorius) Semantika: Gautas santykis turi visą kortežas esančių arba pirmasis, antrasis ar abiejų operandų.
rašyti:
Gauto santykio schemą tipas yra tai, kad pirmojo operando, jei abu “”operandas santykiai yra Mažąsias raides
Žymėjimai:
R1 U R2 SĄJUNGA (R1, R2),
komutatyvi TAIP asociatyvi TAIP
Operatoriai: Skirtumas (dvejetainis)
semantika:
Gautas santykis apima visas pirmojo operando kortežą, kurie nedalyvavo antroje operando.
rašyti:
Gauto santykio schemą tipas yra tai, kad pirmojo operando, jei abu “”operandas santykiai yra Mažąsias raides
Žymėjimai:
R1 – R2 DIFF (R1, R2),
komutatyvi NE asociatyvi NE
Operatoriai: atranka (Vienetinis)
semantika:
Sukurti naują ryšį išgauti iš operando visas kortežą, kurie atitinka atrankos sąlygas.
Kortežai:
Gauto santykio schemos tipas yra lygiavertis operando anketa schemą.
Atrankos sąlyga yra šių formų:
Atributo pavadinimas Palyginimas op. Pastovi vertė arba Atributo pavadinimas Palyginimas op. atributo pavadinimas
Iš atrankos sąlygos serijos gali būti derinami, kaip pasirinkite CONDITION1 ir pasirinkite CONDITION2 arba pasirinkite CONDITION1 arba pasirinkite CONDITION2
Kai kurie tipiniai palyginimo operatoriai užsakytas srityse yra>, <, ==,! =, Ir tt
Žymėjimai:
(Pasirinkite sąlyga): R1 PASIRINKTI (R1, atrankos sąlyga)
dėmesį:
Gautas yra operando poaibis!

komutatyvi TAIP asociatyvi TAIP
Reliacinė algebra: Operatoriai: produktas (dvejetainis)
semantika:
Sukurti naują ryšį sudarydamas Dekarto sandauga
iš dviejų operandų.
(Jei iš R1 ir R2 cardinalities yra 60000 ir 500
atitinkamai, jų produktas yra kardinalumas yra 60000 * 500 =
3,000,000!)

rašyti:
Operandų gali turėti bet Santykių schema. Gautas santykis schema prilygsta operando santykį schemos sąryšis.
Žymėjimai:
Tai labai skaičiavimais brangus
operacija!
Be to, atstojamoji pratęsimas paprastai nėra prasmingas !!

komutatyvi Taip
asociatyvus Taip

Operatoriai: Projekcijos (Vienetinis)
semantika:
Sukurti naują ryšį pašalinant iš operando visi atributai (ir todėl jų reikšmės), kurie nėra paminėti prognozės išraiška.
rašyti:
Gauto schemos tipas yra lygiavertis operando anketa schema, bet išskyrus nepaminėtą atributas sąrašą atributus.
Žymėjimai:
(Attr … X1, …, attr_xn) PROJEKTAS (R1, attr_x1, …, attr_xn)
dėmesį:
Pakartotinų verčių yra netiesiogiai pašalintas!
Daugiau Pastabos:
Be Algebrinė išraiškos su projektų eilutę turime du dalykai vyksta – restruktūrizavimui išplėsti !! Su tam tikromis Algebrinė manipuliacijų galima įveikti šiuos apribojimus.
komutatyvi (apskritai) Nr Association (bendrai) Nr
Minimalus rinkinys operatorių
Jis gali būti įrodyta, kad iš pateiktų operatorių (konkrečiai pasirinkite, projektas, sąjungų, skirtumą ir produkto) poaibis yra tinkamas, ar visiškam grąžinimui, apibūdinti kiti ūkio subjektai (pvz prisijungti, sankirtą ir tt).
Išskirtinis naudojimas operatorių komplektą markę skaitant gamtos algebrinės išraiškos labai nepasiduodantis!
Pavyzdžiui, susikirtimo operatorius turi šią formą:
Sankirtos (R1, R2),
yra lygiavertis diff (sąjungos (R1, R2), Sąjungos (skirt (R1, R2), (skirt (R2 R1)))
arba lygiavertis
DIFF (R1, DIFF (R1, R2),)
Kodėl algebra?
paprastas kalba
nustatyti vienu metu naudotis
semantiškai garso
išreiškia tuos pačius klausimus, kad kita reliacinis modelis, pagrįstas kalba aprašoma
(T deklaratyvi reliacinis skaičiavimas)
procedūrinis
optimisable
Užklausa (vienas) ā € “”Įmonės
Priimti tada, PAVADINIMAS IR ADRESAS visų darbuotojų, kurie dirba už ā € ~Researchâ € ™ departamentas.
research_dept: = pasirinkite dname = ā € ™ Researcgâ € ™ (departamentas);
research_dept_emps: = pasirinkite dnumber = NPI (research_dept produktas darbuotojų);
algl1: = projektą fname, lname, adresas (research_dept_emps);
Užklausa (du) ā € “”Įmonės
Už kiekvieną įsikūręs € ~Staffordâ € ™ projektą, sąrašą projekto įgyvendinimo rezultatų skaičiaus, kontrolinį departamentas numerį ir Departamentas managerâ € ™ s pavardė, adresas ir gimimo datos.
Stafford-_projs: = pasirinkite plocation = A € ™ Staffordâ € ™ (projektai);
Contr_dept: = pasirinkite dnum-dnumber (Stafford_projs produktų skyrius);
proj_dept_mgr: = pasirinkite mgrssn = SSN (contr_dept produktas darbuotojas);
alg2: = projektą pnumber, dnum, lname, adresas, bdate (proj_dept_mgr);
Užklausa (tris) ā € “”Įmonės
Rasti darbuotojų, kurie dirba visų projektų kontroliuojamų universalinė skaičius 5 pavadinimus.
Dept5_projs (PNO): = projektą pnumber (pasirinkite dnum = 5 (projektų)); emp_proj (SSN, PNO): = projektą ESSN, PNO (works_on); emp_proj_ssns: = projektą SSN (emp_proj); % Visos darbuotojų galimybių dirbantys dept5 projektus. Poss_emps_dept5: = (dept5_projs produktų emp_proj_ssns) /% darbuotojus, dona € ™ s dirbti visose dept5 projektų .. emps_not_dept5: = projektą SSN (poss_emps_dept5 skirtumas emp_proj); result_emp_ssns: = EMP proj ssns skirtumas emps_not_dept5; alg3: = projektą lname, fname (result_emp_ssns njoin darbuotoją);
Užklausa (keturi) ā € “”Įmonės
Padaryti projekto numerių sąrašą projektų, kuriuose dalyvauja darbuotojas, kurio pavardė yra ā € ~Smithâ € ™, arba kaip darbuotojo, arba kaip departamento vadovu, kuris kontroliuoja projektą.
Kalviai (ESSN): = projektą SSN (pasirinkite lname = ā € ~Smithâ € ™ (darbuotojas));
smith_worker_projs: = projektą PNO (works_on njoin kalviai);
MGRS: = projektą lname, dnumber (pasirinkite SSN = mgrssn (darbuotojas produktas departamentas));
smith_mgrs: = selecy lname = â € ™ Smitha € ™ (MGRS);
smith_managed_depts (dnum): = projektą dnumber (smith_mgrs);
smith_mgr_projs (PNO): = projektą pmumber (smith_managed_depts njoin projektų);
alg3: = smith_worker_projs sąjungų smith_mgr_projs;
Užklausa (penkias) ā € “”Įmonės
Sąrašas visų darbuotojų pavardes su dviem ar daugiau išlaikytinių.
% Padaryti dvi kopijas darbuotojų su išlaikytinių.
Empdep1 (ESSN, depname1): = projektą ESSN, dependent_name (priklauso);
empdep2 (essn2, depname2): = empdep1;
ir Darbuotojai, turintys daugiau kaip viena išlaikomo.
Emps_gtone_dep (SSN): = projektą essn1 (pasirinkite (ESSN = essn2) ir (depname1 <> depname2) (empdep1 produktas empdep2));
alg5: = projektą lname, fname (darbuotojas njoin EMPS) gtone_dep);
Užklausa (šeši) – Įmonės
Kubrick darbuotojų, kurie neturi išlaikytinių pavadinimus.
All_emps: = projektą SSN (darbuotojas); Emps_with_deps (SSN): = projektą ESSN (priklauso); Emps_without_deps: = (all_emps
Skirtumas emps_with_deps); Alg6: = projektą lname, fname
(Emps_without_deps njoin darbuotoją);
Užklausa (septynias) ā € “”Įmonės
Išvardinkite vadovams, kurie bent vieną išlaikomą pavadinimus.
Mgrssn (SSN): = projektą mgrssn (departamentas); Emps_with_deps (SSN): = projektą ESSN (priklauso); Mgrs_with_deps: = (mgrssn susikerta emps_with_deps); Alg7: = projektą lname, fname
(Mgrs_with_deps njoin darbuotoją);

“——————————————————————————————————————————————————

Ënnerstëtzung Iwwersetzung: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
Relational geléiert
Wat ass en geléiert?
geléiert (al-Entity-BRE) gehandelt ginn
Mathematik
1 A generalization vun Mathematik an déi Symboler, normalerweis Bréiwer vum Alphabet, vertrieden Zuelen oder Memberen vun enger spezifesch Formatioun vun Zuelen a sinn duerch Operatiounen ze dinn, datt fir all Zuelen an d’Formatioun handelt.
2 Eng Formatioun zesumme mat Operatiounen vun der Formatioun definéiert, datt spezifizéierter Gesetzer sou weit.
3 Word vun arabeschen Mathematiker al-Khwarizmi (ongeféier 900 AD) an huet iwwer an Latin vum Robert vum Chester vun 1145 agefouert.

[Middle Englesch, Schanken-Kader an Italien, geléiert, souwuel aus Fête Latäin, aus arabesch al-jabr, de (Wëssenschaft vun) reuniting:. Al, d’+ jabr, Reunifikatioun, Schanken-Kader]
Glécklech Sproochen sinn aschalten gemeinsam: Boolschen geléiert fir Logik Diere; an Relational geléiert fir Datebank DML.
Grondakommes Ingredienten vun en geléiert sinn eng Formatioun (i.e. operand) an Operatiounen (i.e. Opérateuren), datt op all Elementer vun der Formatioun Akt.
Bedreiwer Eegeschaften (zum Beispill, als eng ganz Formatioun an der Zousätzlech Operatioun) gehéiert: Zousätzlech ass commutative iwwer d’integers zanter 3 + 4 = 4 + 3 (plus (3,4) == plus (4,3)); an ausserdem ass gesot ginn Associatioun, iwwer d’integers zanter 3 + (4 + 5) = (3 + 4) + 5 (plus (3, plus (4,5)) == plus (plus (3,4), 5 ))).
Charakteristike vun der Rel. geléiert
Et manipulates ganze Relatiounen duerch eng
semantically unambigous Formatioun vun Operatiounen (Ed
Codd 1970).

Den Talleyrand an d’relational geléiert sinn der Relatioun d’
Extensioun (tuples, Reien) an d’Bedreiwer hunn
entweder eng Formatioun Reform Urspronk oder Relatioun konzentréiert
dofir.

A relational glécklech Ausdrock huet den Tounagang ee
(Unary), oder zwee (Duebelstäresystem), Relatiounen an heiansdo e
Auswiel Zoustand.
Während eng Ausgab vum Ausdrock ass eng eenzeg Relatioun.

Aner Charakteristiken:

de Bedreiwer Aarbecht senger geléiert op all vun der Relatioun d’tuples;

de geléiert huet e procédural computational
Modell;

Mä et ass net “”Turing komplett””, kann een e schreiwen
Pascal Programm datt Relatiounen manipulates fir
wat et ass keng glécklech gleichgestallt.

eng Auswiel Conditioun huet géint évaluéiert ginn
all tuple onofhängeg;

der Nuecht vun e glécklech Operatioun ass eng
akzeptabel Input fir eng konsequent glécklech
Ausdrock – dat ass genannt Ausdrock
Zesummesetzung.

Opérateuren: Unioun (Duebelstäresystem)
Wat iwwert de ennerluecht vun engem relational glécklech Ausdrock a sengem entstoent Relatioun?
“”UNION”” Onbedenklechkeet (UC) vun ZWEE Relatiounen Fir en Duebelstäresystem Ausdrock, déi zwee zousätzlechen Relatiounen (operands – R1 an R2) muss de folgenden strukturell Contrainten hu fir den Ausdrock Typ richteg ze ginn: 1) zwou Relatiounen der selwechter Ofschloss hunn ( dh n); & 2) fir all dat wënscht (1 <= i <= n), den Domaine public (R1.Attr_i) = public (R2.Attr_i). Donnéen Zort AN d’Expression WANN déi zwee Relatioune sinn am u.c. DANN der Relatioun Schema vun der entstoent ass willkürlech gewielt dass vun den éischte operand gin. ELSE … (operand spezifesch – e.g. Produit Bedreiwer) Semantics: D’entstoent Relatioun huet all d’tuple präsent an entweder d’éischt, déi zweet oder déi béid operands.
item:
Den Typ vun der entstoent Relatioun Schema ass dat vun den éischte operand wann souwuel operand Relatioune sinn am u.c.
mellen:
R1 U R2 UNIOUN (R1, R2)
commutative JO Associatioun JO
Opérateuren: Ennerscheed (Duebelstäresystem)
Semantics:
D’entstoent Relatioun ëmfaasst all d’tuples vun der éischter operand déi net präsent an der zweeter operand sinn.
item:
Den Typ vun der entstoent Relatioun Schema ass dat vun den éischte operand wann souwuel operand Relatioune sinn am u.c.
mellen:
R1 – R2 Diff (R1, R2)
commutative KENG Associatioun PAS
Opérateuren: selektionéiert (unary)
Semantics:
Schafen eng nei Relatioun vun all tuples aus der operand Ofbau dass d’Auswiel Konditiounen zefridden.
Tuples:
Den Typ vun der entstoent Relatioun Schema ass fir d’operand d’Schema entspriechen.
Eng Auswiel Conditioun huet de folgende Formulaire:
Spezialfäegkeeten Se op Numm. Constant Wäert oder Numm Se op Attributer. Spezialfäegkeeten Numm
Eng Serie vum selektionéiert Konditiounen kéint wéi an wielt condition1 AN wielt condition2 oder wielt condition1 ODER wielt condition2 kombinéiert ginn
Puer typesch Verglach Opérateuren fir bestallt Beräicher gehéieren>, <, ==,! =, Etc
mellen:
(Wielt Conditioun) R1 SELECT (R1, Auswiel Zoustand)
Opgepasst:
D’entstoent ass eng Ziel vun der operand!

commutative JO Associatioun JO
Relational geléiert: OperaterenQFont: Product (Duebelstäresystem)
Semantics:
Schafen eng nei Relatioun vun engem Cartesian Produit ausféieren
vun den zwou operands.
(Wann der cardinalities vun R1 an R2 sinn 60000 an 500
respektiv, cardinality hire Produit d’ass 60000 * 500 =
3.000.000!)

item:
D’operands kann all Relatioun Schema hunn. D’entstoent Relatioun Schema géigeniwwer dem concatenation vun der Relatioun Schema d’operand.
mellen:
Dat ass eng extrem computationally deier
Operatioun!
Och, ass d’entstoent Endung nët normalerweis sënnvoll !!

commutative Jo
Associatioun, Jo

Opérateuren: Projektioun (unary)
Semantics:
Schafen eng nei Relatioun vun der operand Stoppen all Attributer (an doduercher hir Wäerter), datt si net an der Projektioun Ausdrock ernimmt.
item:
Den Typ vun der entstoent Schema ass fir d’operand d’Schema entspriechen awer ausser Attributer net am Spezialfäegkeeten Lëscht ernimmt.
mellen:
(Attr … X1, …, attr_xn) PROJECT (R1, attr_x1, …, attr_xn)
Opgepasst:
Zweete Wäerter sinn implizit geläscht!
Weider Notes:
An eng glécklech Ausdrock mat enger Kette vu Projeten hu mir zwou Saachen elo op – Restrukturatioun an nei-verlängeren !! Mat bestëmmte glécklech manipulations kann een dës Restriktiounen iwwerwannen.
commutative (am allgemengen) Nee Associatioun, (am Allgemengen) Nee
Minimum vu Formatioun vun Opérateuren
Et kann gewisen, datt e Ziel vun der presentéiert Bedreiwer (speziell de auswielen, Projet, union, Ënnerscheed an Produit) sinn adäquat, oder komplett, déi aner Opérateuren ze beschreiwen (zB matzeman, Kräizung etc).
Déi exklusiv Benotzung vun Opérateuren aus dem komplett Formatioun maachen liesen puer natierlech glécklech Ausstralung extrem unyielding!
Zum Beispill, ass d’Kräizung Bedreiwer dës Form:
Kräizung (R1, R2)
gläichwäerteg ze Diff (UNIOUN (R1, R2), UNIOUN (Ënnerscheed (R1, R2), (Ënnerscheed (R2, R1)))
oder gläichwäerteg ze
Diff (R1, Diff (R1, R2))
Firwat eng geléiert?
eng einfach Sprooch
bei enger Zäit Accès Formatioun
semantically Toun
dréckt de selwechten ufroën, datt aner relational Modell baséiert Sprooch beschreift
(I.e. der declarative relational d)
procédural
optimisable
Fonktionnéiert (een) â € “”Company
Recuperéieren dann Numm an Adress vun all Mataarbechter, dee fir d’â € ~Researchâ € ™ Departement Aarbecht.
research_dept: = wielt dname = â € ™ Researcgâ € ™ (Departement);
research_dept_emps: = wielt dnumber = dno (research_dept Produit Employé);
algl1: = Projet fname, lname, Adress (research_dept_emps);
Fonktionnéiert (zwou) â € “”Company
Fir all Projet läit an engem € ~Staffordâ € ™, setzen de Project Zuel, déi Kontrollen Departement Zuel, An d’Departement managerâ € ™ den leschten Numm, Adress, An Gebuertsdatum.
Stafford-_projs: = wielt plocation = â € ™ Staffordâ € ™ (Projeten);
Contr_dept: = wielt dnum-dnumber (Stafford_projs Produit Departement);
proj_dept_mgr: = wielt mgrssn = ssn (contr_dept Produit Employé);
alg2: = Projet pnumber, dnum, lname, Adress, bdate (proj_dept_mgr);
Fonktionnéiert (dräi) â € “”Company
Fannt de Nimm vun de Mataarbechter, déi der all Projetën Aarbecht op 5 vum Departement Zuel kontrolléiert haten.
Dept5_projs (pno): = Projet pnumber (wielt dnum = 5 (Projeten)); emp_proj (ssn, pno): = Projet essn, pno (works_on); emp_proj_ssns: = Projet ssn (emp_proj); % All Méiglechkeeten vun Employéen op dept5 Projeten schaffen. Poss_emps_dept5: = (dept5_projs Produit emp_proj_ssns); /% Employée, datt op all dept5 Projeten € ™ s Aarbecht Donna .. emps_not_dept5: = Projet ssn (poss_emps_dept5 Ënnerscheed emp_proj); result_emp_ssns: = EMP proj ssns Ënnerscheed emps_not_dept5; alg3: = Projet lname, fname (result_emp_ssns njoin Employé);
Fonktionnéiert (véier) â € “”Company
Maacht eng Lëscht vun Projet Zuelen fir Projeten dass eng Employé hir Debate Familljennumm ass e € ~Smithâ € ™, Entweder als Aarbechter oder als Manager vun de Pompjeeën, dass de Projet passt.
Will (essn): = Projet ssn (wielt lname = â € ~Smithâ € ™ (Employé));
smith_worker_projs: = Projet pno (works_on njoin Will);
mgrs: = Projet lname, dnumber (wielt ssn = mgrssn (Employé Produit Departement));
smith_mgrs: = selecy lname = â € ™ Smitha € ™ (mgrs);
smith_managed_depts (dnum): = Projet dnumber (smith_mgrs);
smith_mgr_projs (pno): = Projet pmumber (smith_managed_depts njoin Projeten);
alg3: union smith_mgr_projs smith_worker_projs =;
Fonktionnéiert (fënnef) â € “”Company
Lëscht d’Nimm vun all de Mataarbechter mat zwee oder méi ugewise sinn.
Maacht% zwee Exemplare vu Mataarbechter mat abegraff.
Empdep1 (essn, depname1): = Projet essn, dependent_name (ofhängeg);
empdep2 (essn2, depname2): = empdep1;
& Employée mat méi wéi ee ofhängeg.
Emps_gtone_dep (ssn): = Projet essn1 (auswielen (essn = essn2) an (depname1 <> depname2) (empdep1 Produit empdep2));
alg5: = Projet lname, fname (Employé njoin emps) gtone_dep);
Fonktionnéiert (sechs) – Company
Recuperéieren d’Nimm vun de Mataarbechter, déi keng Hëllef ugewise sinn.
All_emps: = Projet ssn (Employé); Emps_with_deps (ssn): = Projet essn (ofhängeg); Emps_without_deps: = (all_emps
Ënnerscheed emps_with_deps); Alg6: = Projet lname, fname
(Emps_without_deps njoin Employé);
Fonktionnéiert (siwen) â € “”Company
Lëscht d’Nimm vun den Manager déi mannst One ofhängeg hunn.
Mgrssn (ssn): = Projet mgrssn (Departement); Emps_with_deps (ssn): = Projet essn (ofhängeg); Mgrs_with_deps: = (mgrssn intersect emps_with_deps); Alg7: = Projet lname, fname
(Mgrs_with_deps njoin Employé);

“——————————————————————————————————————————————————

Поддршка превод: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
релациона алгебра
Што е алгебра?
алгебра (Ал-je-бре) именка
математика
1 генерализација на аритметиката во кои симболи, обично буквите од азбуката, претставуваат броеви или членови на одредена група на броеви и се поврзани со операции, кои важат за сите броеви во собата.
2 А во собата заедно со промет дефинирани во собата што ги почитуваат одредени закони.
3 Збор воведен од страна на арапскиот математичар Ал Khwarizmi (околу 900 н.е.) и донесе во текот на латински од страна на Роберт Честер во 1145 година.

[Средноанглиски, коска поставување и италијански, алгебра, и од средновековен латински, од арапски Ал-Jabr, на (наука) повторно обединување. Ал, + Jabr, повторно обединување, коска Setting]
Алгебарски јазици се честа појава во компјутери: Булова алгебра за логички порти; и релациона алгебра за DML базата на податоци.
Основните состојки на алгебрата се збир (т.е. операнд) и операции (на пример оператори), кои дејствуваат врз сите елементи на собата.
својства оператор (на пример, сметаат дека цел број во собата и работата на собирање) вклучуваат: Додавање е комутативен во текот на цели броеви од 3 + 4 = 4 + 3 (плус (3,4) == плус (4,3)); и дополнување се вели дека е асоцијативна во текот на цели броеви од 3 + (4 + 5) = (3 + 4) + 5 (плус (3, плус (4,5)) == плус (плус (3,4), 5 ))).
Карактеристики на Rel. алгебра
Тоа манипулира целиот односите со еден
семантички unambigous збир на операции (Ед
Codd 1970).

сетови на релациона алгебра се односот е
проширување (торки, редови) и оператори имаат
или постави теоретски потекло или врска ориентирана
корист.

Релациона алгебарски израз има како влезови еден
(Унарен), или две (бинарна), односи, а понекогаш и
состојба за избор.
Додека производството на изразување е еден однос.

Други карактеристики:

оператори алгебарскиот да работиме на сите торки односот е;

алгебарскиот има процедурални пресметковни
модел;

Но, тоа не е “”Тјуринг заврши””, може да се напише
Паскал програма со која се манипулира со односи
кои не постои алгебарски еквивалентни.

состојба на избор треба да се оценуваат според
секоја торка независно;

на излез од алгебарски операција е
прифатлива влез на последователното алгебарски
изразување – ова се нарекува изразување
состав.

Оператори: унија (бинарна)
Што е со пишување на релациона алгебарски израз и произлегуваат однос?
“”Сојуз”” компатибилност (УЗ) на две релации За бинарен изразувањето, учеснички односи (операнди – R1 и R2) мора да имаат следните структурни ограничувања за изразување да биде Внесете точно: 1) и односи имаат ист степен ( односно л); И 2) за секој атрибут (1 <= i <= n), домен (R1.Attr_i) = домен (R2.Attr_i). ВИД НА ПОДАТОЦИ израз ако двата односи се во u.c. Тогаш врска шема на резултантните е произволно избран да биде дека на првиот операнд. Друго … (операнд специфични – на пример, операторот на производот) семантика: Произлегуваат врска има сите торка присутни во или на првиот, вториот или двата операнди.
пишување:
Видот на резултантните шема односот е дека на првиот операнд ако двата операнди односи се во u.c.
нотација:
R1 U R2 UNION (R1, R2)
комутативен ДА ДА асоцијативна
Оператори: Разликата (бинарна)
семантика:
Произлегуваат однос вклучува сите торки од првиот операнд кои не се присутни во вториот операнд.
пишување:
Видот на резултантните шема односот е дека на првиот операнд ако двата операнди односи се во u.c.
нотација:
R1 – R2 diff (R1, R2)
комутативен НЕ НЕ асоцијативна
Оператори: Избор (унарен)
семантика:
Креирај нова врска со вадење од операнд сите торки кои ги исполнуваат условите за избор.
торки:
Видот на резултантните шема односот е еквивалентно на шемата на операндот е.
состојба на селекција има следнава форма:
Името на атрибутот споредба op. Константна вредност или името на атрибутот споредба op. името на атрибутот
A серија на условите за избор може да се комбинираат во изберете CONDITION1 и одберете CONDITION2 или одберете CONDITION1 или изберете CONDITION2
Некои типични оператори за споредба нареди домени вклучуваат>, <, ==,! =, Итн
нотација:
(Избор на состојба) R1 изберете (R1, состојба избор)
Забелешка:
Произлегуваат е подмножество на операнд!

комутативен ДА ДА асоцијативна
Релациона алгебра: оператори: производ (бинарна)
семантика:
Креирај нова врска со извршување на картезијанската производ
на две операнди.
(Ако cardinalities од R1 и R2 се 60000 и 500
односно, кардиналност нивниот производ е 60000 * 500 =
3.000.000!)

пишување:
Операнди можат да имаат никаква врска шема. произлегуваат шема односот е еквивалентно на сплет на врска шема на операндот е.
нотација:
Ова е исклучително скапо изчислителна
работа!
Исто така, резултантните проширување не е обично значајно !!

комутативен Да
асоцијативна Да

Оператори: Проекција (унарен)
семантика:
Креирај нова врска со отстранување од операнд сите атрибути (а со тоа и нивните вредности), кои не се споменати во изразувањето на проекцијата.
пишување:
Видот на резултантните шема е еквивалентно на шемата на операнд, но со исклучок на атрибути кои не се наведени во листата на атрибут.
нотација:
(Attr … x1, …, attr_xn) проект (R1, attr_x1, …, attr_xn)
Забелешка:
Дупликат вредности се имплицитно отстранети!
Понатаму забележува:
Во некој алгебарски израз со низа на проекти имаме две работи се случува – реструктуирање и ре-проширување !! Со одредени алгебарски манипулации може да се надминат овие ограничувања.
комутативен (општо) Не асоцијативна (општо) Не
Минимален пакет на оператори
Може да се покаже дека подмножество на презентираните оператори (посебно избраните, проект, синдикатот, разликата и производи) се соодветни, или целосно, да се опише на други оператори (на пример, се приклучат, пресекот и сл.)
Ексклузивна употреба на оператори од комплетен сет направи читањето некои природни алгебарски изрази исклучително непопустливоста!
На пример, операторот на пресекот има оваа форма:
Пресекот (R1, R2)
е еквивалентно на diff (UNION (R1, R2), UNION (разл (R1, R2), (разл (R2, R1)))
или еднаква на
Diff (R1, diff (R1, R2))
Зошто алгебра?
едноставен јазик
поставени на време на пристап
семантички звук
изразува исти прашања кои уште релациона модел базиран јазик опишува
(Т.е. декларативното релациона анализа)
процедурални
optimisable
Пребарување (еден) â € “”Друштвото
Преземи тогаш името и адресата на сите вработени кои работат за одделот за ~Researchâ € € ™.
research_dept: = Изберете dname = â € ™ Researcgâ € ™ (оддел);
research_dept_emps: = Изберете dnumber = Д.Н.О. (research_dept производ на вработените);
algl1: = fname проект, lname, адреса (research_dept_emps);
Пребарување (две) â € “”Друштвото
За секој проект се наоѓа во â € ~Staffordâ € ™, наведете го бројот на проектот, бројот на контрола на одделот, како и одделот managerâ € ™ и презиме, адреса, и датум на раѓање.
Стафорд-_projs: = Изберете plocation = â € ™ Staffordâ € ™ (проекти);
Contr_dept: = Изберете dnum-dnumber (Stafford_projs оддел производ);
proj_dept_mgr: = Изберете mgrssn = SSN (contr_dept вработен производ);
alg2: = проектот pnumber, dnum, lname, адреса, bdate (proj_dept_mgr);
Пребарување (три) â € “”Друштвото
Се најдат имињата на вработените кои работат на сите проекти се контролира од страна на одделот број 5.
Dept5_projs (пно): = проектот pnumber (изберете dnum = 5 (проекти)); emp_proj (SSN, пно): = проектот essn, пно (works_on); emp_proj_ssns: = SSN проект (emp_proj); % Се исклучува можноста за вработените кои работат на dept5 проекти. Poss_emps_dept5: = (dept5_projs emp_proj_ssns производ); /% на вработени кои Dona € ™ а работата на сите dept5 проекти .. emps_not_dept5: = SSN проект (poss_emps_dept5 разлика emp_proj); result_emp_ssns: = EMP PROJ ssns разлика emps_not_dept5; alg3: = проектот lname, fname (result_emp_ssns njoin на вработените);
Пребарување (четири) â € “”Друштвото
Направете листа на броеви проектот за проекти кои вклучуваат еден вработен со презиме â € ~Smithâ € ™, или како работник или како директор на Одделот, кој ги контролира проектот.
Smiths (essn): = проектот SSN (изберете lname = â € ~Smithâ € ™ (вработен));
smith_worker_projs: = пно проект (works_on njoin ковачи);
mgrs: = lname проект, dnumber (изберете SSN = mgrssn (вработен оддел производ));
smith_mgrs: = selecy lname = â € ™ Smitha € ™ (mgrs);
smith_managed_depts (dnum): = dnumber проект (smith_mgrs);
smith_mgr_projs (пно): = pmumber проект (smith_managed_depts njoin проекти);
alg3: = smith_worker_projs унија smith_mgr_projs;
Пребарување (пет) â € “”Друштвото
Листата на имиња на сите вработени со две или повеќе лица.
% Направете две копии на вработените со други лица.
Empdep1 (essn, depname1): = проектот essn, dependent_name (зависни);
empdep2 (essn2, depname2): = empdep1;
И вработени со повеќе од еден зависни.
Emps_gtone_dep (SSN): = essn1 проект (изберете (essn = essn2) и (depname1 <> depname2) (empdep1 производ empdep2));
alg5: = lname проект, fname (вработен njoin emps) gtone_dep);
Пребарување (шест) – Компанијата
Добивање на имињата на вработените кои немаат семејства.
All_emps: = SSN проект (вработените); Emps_with_deps (SSN): = essn проект (зависни); Emps_without_deps: = (all_emps
Разликата emps_with_deps); Alg6: = lname проект, fname
(Emps_without_deps njoin на вработените);
Пребарување (седум) â € “”Друштвото
Листата на имиња на менаџери кои имаат најмалку една зависни.
Mgrssn (SSN): = mgrssn проект (оддел); Emps_with_deps (SSN): = essn проект (зависни); Mgrs_with_deps: = (mgrssn сечат emps_with_deps); Alg7: = lname проект, fname
(Mgrs_with_deps njoin на вработените);

“——————————————————————————————————————————————————

Support fandikan-teny: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
fifandraisana algèbre
Inona no atao hoe algèbre?
alijebra (Al-je-Bre) Anarana iombonana
Matematika
1 A generalization ny rafitrisa izay tandindona, matetika taratasy ny abidy, maneho isa na ny mpikambana ao amin’ny iray manokana napetraka ny isa ary mifandray amin’ny hetsika izay mihazona ny isa rehetra ao amin’ny napetraka.
2 A teo miaraka amin’ny hetsika voafaritra ao amin’ny napetraka ny manaiky lasa mihamatanjaka ny lalàna.
3 Teny nampahafantatra ny mpahay matematika Arabo Al-Khwarizmi (Vita 900 AD) ka nitondra ho any latinina avy Robert ny Chester tamin’ny 1145.

[Middle English, taolana-toerana sy italianina, alijebra, na avy Medieval Latina, amin’ny teny al-Jabr, ny (siansa ny) fitambaran’ny: Al, ny + Jabr, fampihavanana, taolana-toerana.]
Algebraic fiteny Fahita amin’ny computing: Boolean alijebra ny lojika vavahady; ary mifandray alijebra ny banky angona DML.
Fototra sakafo iray alijebra dia napetraka (i.e. operand) sy ny asa (i.e. mpandraharaha) izay miasa amin’ny singa rehetra ao amin’ny napetraka.
Mpandraharaha fananana (Diniho, ohatra, ny integer nametraka sy ny asa koa) dia ahitana: fanampin’ny no commutative ny integers hatramin’ny 3 + 4 = 4 + 3 (miampy (3,4) == Plus (4,3)); ary fanampin’ny Voalaza fa associative ny integers hatramin’ny 3 + (4 + 5) = (3 + 4) + 5 (miampy (3, miampy (4,5)) == Plus (miampy (3,4), 5 ))).
Toetra mampiavaka ny Rel. alijebra
Izany fikirakirany ny fifandraisana amin’ny alalan’ny iray manontolo
semantically unambigous napetraka ny asa (Ed
Codd 1970).

Ny mifandray alijebra ny milentika ny fifandraisana ny
fanitarana (tuples, andalana) ary ny mpandraharaha manana
na ny nametraka theoretic fiaviana na ny fifandraisana mifantoka amin’ny
fitia.

Ny fifandraisana toy ny manana teny algebraic inputs iray
(Unary), na roa (mimari-droa), ny fifandraisana ary indraindray ny
toe-fifantenana.
Na dia fanehoana ny output dia tokana fifandraisana.

Other Toetra mampiavaka:

ny alijebra ny mpandraharaha miasa eo amin’ny fifandraisana rehetra ny tuples;

ny alijebra manana ny fomba fanatanterahana kajy amin’ny solosaina,
modely;

Fa tsy “”Turing tanteraka””, misy afaka manoratra ny
Pascal fandaharana izay fikirakirany fifandraisana for
izay tsy misy algebraic mitovy.

ny fifantenana fepetra tsy maintsy fizahana hamely
tuple samy irery;

ny avoakany iray algebraic fandidiana dia
azo ekena fandraisana ny vokatry ny algebraic
fitenenana – izany no antsoina hoe teny
sangan ‘asa.

Mpandraharaha: Union (mimari-droa)
Ahoana ny momba ny fanoratana ny fifandraisana algebraic maneho hevitra sy ny vokatry ny fifandraisana?
“”UNION”” mifanentana (UC) Roa RELATIONS Fa ny mimari-droa maneho hevitra, ny roa nandray anjara fifandraisana (operands – R1 sy R2) dia tsy maintsy manana ireto manaraka ireto faneren’ny drafitra ho ny teny mba ho karazana marina: 1) Samy manana fifandraisana mitovy ambaratonga ( izany hoe N); & 2) isaky ny toetra (1 <= aho <= N), ny sehatra (R1.Attr_i) = sehatra (R2.Attr_i). Ny angon-drakitra NY KARAZANA RAHA fanehoana ny fifandraisana amin’ny roa ao u.c. Ary ny fifandraisana schema ny vokatry dia voafidy ho jadona ny an’i voalohany operand. Hafa … (operand voafaritra tsara – oh vokatra mpandraharaha) Semantics: Ny vokatry ny fifandraisana manana ny tuple rehetra ankehitriny ao na ny voalohany, ny faharoa na izy roa miaraka operands.
fanoratana:
Ny karazana fifandraisana amin’ny vokatry schema dia ny voalohany raha samy operand operand ny fifandraisana ao u.c.
tarehimarika:
R1 U R2 UNION (R1, R2)
commutative YES associative YES
Mpandraharaha: Difference (mimari-droa)
Semantics:
Ny vokatry ny fifandraisana dia ahitana ny tuples voalohany operand izay tsy eo amin’ny faharoa operand.
fanoratana:
Ny karazana fifandraisana amin’ny vokatry schema dia ny voalohany raha samy operand operand ny fifandraisana ao u.c.
tarehimarika:
R1 – R2 Fampitahana (R1, R2)
commutative NO NO associative
Mpandraharaha: Selection (unary)
Semantics:
Mamorona fifandraisana vaovao tamin’ny fanatsoahanao amin’ny operand tuples rehetra izay manome fahafaham-po ny fifantenana toe-piainana.
Tuples:
Ny karazana fifandraisana amin’ny vokatry schema dia mitovy amin’ny operand ny schema.
Ny fifantenana toe-manana ny manaraka izao teny:
Milaza anarana Comparison Op. Constant sarobidy na nahatonga anarana Comparison Op. nahatonga anarana
Nisy andianà fepetra Fifantenana azo mitambatra toy ny amin’ny Select condition1 ary fidio condition2 na Select condition1 OR Select condition2
Misy fampitahana mahazatra mpandraharaha ho an’ny baiko sehatra ahitana>, <, ==,! =, Sns
tarehimarika:
(Select toe-) R1 SELECT (R1, fifantenana ny toe-)
Fanamarihana:
Ny vokatry ny dia subset ny operand!

commutative YES associative YES
Fifandraisana alijebra: mpandraharaha: Product (mimari-droa)
Semantics:
Mamorona fifandraisana vaovao amin’ny alalan’ny famonoana ny Cartesian vokatra
ny roa operands.
(Raha toa ny cardinalities ny R1 sy R2 dia 60000 sy 500
tsirairay avy, ny entana ny cardinality dia 60000 * 500 =
3.000.000!)

fanoratana:
Ny operands dia afaka manana fifandraisana schema. Ny vokatry ny fifandraisana schema dia mitovy amin’ny concatenation ny operand schema ny fifandraisana.
tarehimarika:
Izany dia tena lafo vidy computationally
hetsika!
Koa, ny vokatry ny fanitarana dia tsy matetika dikany !!

commutative Eny
associative Eny

Mpandraharaha: Projection (unary)
Semantics:
Mamorona fifandraisana vaovao amin’ny alalan’ny hanavaka ny operand toetra rehetra (ary noho ny soatoavina) izay tsy voalaza ao amin’ny projection fitenenana.
fanoratana:
Ny karazana ny vokatry ny schema dia mitovy amin’ny operand ny schema fa toetra manavaka tsy voaresaka ao amin’ny toetra lisitra.
tarehimarika:
(Attr … x1, …, attr_xn) TETIKASA (R1, attr_x1, …, attr_xn)
Fanamarihana:
Dika mitovy soatoavina ireo nesorina tanteraka!
Fanampiny Notes:
Ao amin’ny fanehoan-kevitra algebraic amin’ny kofehy ny tetikasa isika zavatra roa mitranga – fanavaozan-drafitra sy re-manitatra !! Amin’ny sasany algebraic manipulations misy afaka mandresy ireo faneriterena.
commutative (amin ‘ny ankapobeny) No associative (amin’ ny ankapobeny) No
Kely dia kely napetraka ny mpandraharaha
Azo aseho fa ny subset ny aseho mpandraharaha (manokana ny voafantina, tetikasa, firaisana, sy ny vokatra hafa) dia ampy, na tanteraka, mba hilazana ny mpandraharaha hafa (ohatra anjara, fihaonan-dalana sns).
Ny fampiasana irery ihany ny mpandraharaha avy any amin’ny tanteraka napetraka hanambara mamaky teny sasany algebraic voajanahary tena tsy mihozongozona!
Ohatra, ny fihaonan-dalana mpandraharaha manana endrika ity:
Fihaonan-dalana (R1, R2)
dia mitovy amin’ny Fampitahana (UNION (R1, R2), UNION (Fampitahana (R1, R2), (Fampitahana (R2, R1)))
na mitovy amin’ny
Diff (R1, Fampitahana (R1, R2))
Nahoana no misy alijebra?
tsotra teny
teo amin’ny fotoana fidirana
semantically feo
maneho izany fanontaniana izay mifandray hafa fiteny modely miorina mamaritra
(I.e. ny voambara mifandray calculus)
ny fomba fanatanterahana
optimisable
QUERY (iray) â € “”Company
Retrieve dia anarana sy adiresy rehetra izay miasa ho an’ny mpiasa ny â € ~Researchâ € ™ departemanta.
research_dept: = Select dname = â € ™ Researcgâ € ™ (departemanta);
research_dept_emps: = Select dnumber = dno (research_dept vokatra mpiasa);
algl1: = tetikasa fname, lname, adiresy (research_dept_emps);
QUERY (roa) â € “”Company
Fa izay rehetra miorina amin’ny tetikasa â € ~Staffordâ € ™, tanisao ny tetikasa isany, ny mifehy departemantan’i isa, ary ny sampan-draharaha managerâ € ™ ny farany anarana, adiresy, ary birthdate.
Stafford-_projs: = Select plocation = â € ™ Staffordâ € ™ (tetikasa);
Contr_dept: = Select dnum-dnumber (Stafford_projs vokatra departemanta);
proj_dept_mgr: = Select mgrssn = ssn (contr_dept vokatra mpiasa);
alg2: = tetikasa pnumber, dnum, lname, adiresy, bdate (proj_dept_mgr);
QUERY (telo) â € “”Company
Tadiavo ny anaran’ireo mpiasa izay miasa amin’ny rehetra ny tetikasa nofehezin’ny departemanta isa 5.
Dept5_projs (pno): = tetikasa pnumber (mifidy dnum = 5 (tetikasa)); emp_proj (ssn, pno): = tetikasa essn, pno (works_on); emp_proj_ssns: = tetikasa ssn (emp_proj); % Rehetra azo atao ny mpiasa miasa amin’ny dept5 tetikasa. Poss_emps_dept5: = (dept5_projs vokatra emp_proj_ssns); /% mpiasa izay dona € ™ ny asa rehetra .. dept5 tetikasa emps_not_dept5: = tetikasa ssn (poss_emps_dept5 fahasamihafana emp_proj); result_emp_ssns: = emp proj ssns fahasamihafana emps_not_dept5; alg3: = tetikasa lname, fname (result_emp_ssns njoin mpiasa);
QUERY (efatra) â € “”Company
Ataovy lisitra ny tetikasa isa ho an’ny tetikasa izay Ampandraiso anjara ny mpiasa izay farany â € anarany ~Smithâ € ™, na ho toy ny mpiasa na ho toy ny mpitantana ny Sampan-draharahan’ny izay mifehy ny tetikasa.
Mpanefy vy (essn): = tetikasa ssn (mifidy lname = â € ~Smithâ € ™ (mpiasa));
smith_worker_projs: = tetikasa pno (works_on njoin mpanefy vy),
mgrs: = tetikasa lname, dnumber (mifidy ssn = mgrssn (mpiasa vokatra departemanta));
smith_mgrs: = selecy lname = â € ™ Smithâ € ™ (mgrs);
smith_managed_depts (dnum): = tetikasa dnumber (smith_mgrs);
smith_mgr_projs (pno): = tetikasa pmumber (smith_managed_depts njoin tetikasa);
alg3: = smith_worker_projs sendika smith_mgr_projs;
QUERY (dimy) â € “”Company
Ataovy lisitra ny anaran’ny mpiasa rehetra miaraka roa na mihoatra Dependents.
% Ho roa dika mitovy ny mpiasa amin’ny dependents.
Empdep1 (essn, depname1): = tetikasa essn, dependent_name (miankina);
empdep2 (essn2, depname2): = empdep1;
& Mpiasa amin’ny mihoatra ny iray miankin-doha.
Emps_gtone_dep (ssn): = tetikasa essn1 (mifidy (essn = essn2) ary (depname1 <> depname2) (empdep1 vokatra empdep2));
alg5: = tetikasa lname, fname (mpiasa njoin emps) gtone_dep);
Query (enina) – Company
Retrieve ny anaran’ireo mpiasa izay tsy manana Dependents.
All_emps: = tetikasa ssn (mpiasa); Emps_with_deps (ssn): = tetikasa essn (miankin-doha); Emps_without_deps: = (all_emps
Difference emps_with_deps); Alg6: = tetikasa lname, fname
(Emps_without_deps njoin mpiasa);
QUERY (fito) â € “”Company
Ataovy lisitra ny anaran’ny mpitantana izay, fara fahakeliny, iray miankin-doha.
Mgrssn (ssn): = tetikasa mgrssn (departemanta); Emps_with_deps (ssn): = tetikasa essn (miankin-doha); Mgrs_with_deps: = (mgrssn intersect emps_with_deps); Alg7: = tetikasa lname, fname
(Mgrs_with_deps njoin mpiasa);

“——————————————————————————————————————————————————

Sokongan terjemahan: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
Relational Algebra
Apakah yang dimaksudkan dengan Algebra?
algebra (al-je-bre) kata
Matematik
1 A generalisasi aritmetik di mana simbol, biasanya huruf abjad, mewakili nombor atau ahli-ahli tertentu nombor set dan berkaitan dengan operasi yang memegang untuk semua nombor dalam set.
2 A ditetapkan bersama-sama dengan operasi ditakrifkan pada set yang taat kepada undang-undang tertentu.
3 Word diperkenalkan oleh ahli matematik Arab al-Khawarizmi (sekitar 900 AD) dan dibawa ke dalam bahasa Latin oleh Robert of Chester dalam 1145.

[Middle English, pengikatan tulang dan Itali, algebra, kedua-duanya dari Latin Medieval, dari bahasa Arab al-jabr, yang (ilmu) menyatukan semula:. Al, yang + jabr, penyatuan semula, pengikatan tulang]
bahasa algebra adalah biasa dalam pengkomputeran: algebra Boolean untuk get logik; dan algebra Relational untuk DML pangkalan data.
bahan-bahan asas algebra yang adalah satu set (iaitu operan) dan operasi (pengendali iaitu) yang bertindak ke atas semua unsur-unsur yang ditetapkan.
hartanah Operator (sebagai contoh, pertimbangkan integer ditetapkan dan operasi tambahan) termasuk: Penambahan adalah kalis tukar tertib lebih integer sejak 3 + 4 = 4 + 3 (tambah (3,4) == tambah (4,3)); dan Penambahan dikatakan bersekutu lebih integer sejak 3 + (4 + 5) = (3 + 4) + 5 (plus (3, plus (4,5)) == tambah (plus (3,4), 5 ))).
Ciri-ciri Rel. algebra
Ia memanipulasi hubungan keseluruhan melalui
set semantik unambigous operasi (Ed
Codd 1970).

set Algebra hubungan adalah hubungan yang
lanjutan (tuples, baris) dan pengendali mempunyai
sama ada asal teori menetapkan atau berhubung berorientasikan
memihak.

Ungkapan algebra hubungan mempunyai sebagai input satu
(Unari), atau dua (binari), hubungan dan kadang-kadang
syarat pemilihan.
Manakala pengeluaran ungkapan ini adalah berhubung tunggal.

Ciri-ciri lain:

pengendali algebra kita bekerja pada semua tuples hubungan itu;

algebra yang mempunyai pengiraan prosedur
model;

Tetapi ia tidak “”Turing lengkap””, seseorang boleh naik
program pascal yang memanipulasi hubungan untuk
yang tidak ada bersamaan algebra.

syarat pemilihan perlu dinilai terhadap
setiap tupel secara bebas;

output operasi algebra adalah
input yang boleh diterima kepada algebra berbangkit
ungkapan – ini dipanggil ungkapan
komposisi.

Operator: Union (binari)
Bagaimana dengan menaip ungkapan algebra hubungan dan kaitannya paduan itu?
“”UNION”” PAPARAN (uc) DUA PERHUBUNGAN Untuk ungkapan binari, kedua-dua yang mengambil bahagian hubungan (operan – R1 dan R2) mesti mempunyai kekangan struktur berikut ungkapan ini menjadi jenis yang betul: 1) kedua-dua hubungan mempunyai tahap yang sama ( iaitu n); & 2) bagi setiap atribut (1 <= i <= n), domain (R1.Attr_i) = domain (R2.Attr_i). JENIS DATA YANG Ungkapan ini JIKA kedua-dua hubungan adalah dalam u.c. THEN skema hubungan paduan sewenang-wenangnya Terpilih sebagai kepunyaan operan pertama. ELSE … (operan tertentu – cth pengendali produk) Semantik: Hubungan di paduan mempunyai semua tuple ini sama ada yang pertama, kedua atau kedua-dua operan.
menaip:
Jenis hubungan skema paduan adalah bahawa operan pertama jika kedua-dua hubungan operan berada dalam u.c.
catatan:
R1 R2 U UNION (R1, R2)
komutatif YES YES bersekutu
Operator: Perbezaan (binari)
Semantik:
Hubungan paduan termasuk semua tuples sesuatu operan pertama yang tidak terdapat di dalam operan kedua.
menaip:
Jenis hubungan skema paduan adalah bahawa operan pertama jika kedua-dua hubungan operan berada dalam u.c.
catatan:
R1 – R2 DIFF (R1, R2)
NO NO komutatif bersekutu
Operator: Pemilihan (unari)
Semantik:
Mewujudkan hubungan baru dengan mengeluarkan dari operan semua tuples yang memenuhi syarat-syarat pemilihan.
Tuples:
Jenis hubungan skema paduan bersamaan dengan skema operan.
Keadaan pemilihan mempunyai bentuk berikut:
Atribut menamakan Perbandingan op. nilai malar atau Nama atribut Perbandingan op. Nama atribut
Satu siri keadaan Pemilihan boleh digabungkan seperti dalam pilih CONDITION1 dan pilih CONDITION2 atau pilih CONDITION1 ATAU pilih CONDITION2
Sesetengah pengendali perbandingan khas untuk domain mengarahkan termasuk>, <, ==,! =, Dan lain-lain
catatan:
(Pilih keadaan) R1 SELECT (R1, keadaan pemilihan)
Nota:
paduan adalah subset operan!

komutatif YES YES bersekutu
Relational Algebra: Operator: Produk (binari)
Semantik:
Mewujudkan hubungan baru dengan melaksanakan produk yang Cartesian
kedua-dua operan.
(Jika Kardinaliti R1 dan R2 adalah 60000 dan 500
masing-masing, cardinality produk mereka adalah 60000 * 500 =
3,000,000!)

menaip:
The operan boleh mempunyai apa-apa skema berhubung. Hubungan skema paduan bersamaan dengan dinamika hubungan skema operan.
catatan:
Ini adalah amat computationally mahal
operasi!
Juga, lanjutan paduan tidak biasanya bermakna !!

komutatif Ya
bersekutu Ya

Operator: Projection (unari)
Semantik:
Mewujudkan hubungan baru dengan mengeluarkan dari operan semua sifat-sifat (dan seterusnya nilai-nilai mereka) yang tidak disebut dalam ungkapan tayangan.
menaip:
Jenis skema paduan bersamaan dengan skema operan tetapi tidak termasuk sifat-sifat yang tidak disebutkan dalam senarai atribut.
catatan:
(Attr … x1, …, attr_xn) PROJEK (R1, attr_x1, …, attr_xn)
Nota:
nilai ulangan tersirat dibuang!
Nota Lanjut:
Dalam ungkapan algebra dengan rentetan projek yang mempunyai dua perkara yang berlaku – penyusunan semula dan semula melanjutkan !! Dengan manipulasi algebra tertentu yang dapat mengatasi sekatan ini.
komutatif (secara umum) Tiada bersekutu (secara umum) No
set minimum pengendali
Ia boleh ditunjukkan bahawa subset pengendali dibentangkan (khususnya pilih, projek, kesatuan, perbezaan dan produk) adalah mencukupi, atau lengkap, untuk menggambarkan operator lain (contohnya menyertai, persimpangan dan lain-lain).
Penggunaan eksklusif pengendali dari set lengkap membuat membaca beberapa ungkapan algebra semulajadi yang sangat pantang menyerah!
Sebagai contoh, pengendali persimpangan mempunyai borang ini:
INTERSECTION (R1, R2)
adalah bersamaan dengan DIFF (UNION (R1, R2), UNION (DIFF (R1, R2), (DIFF (R2, R1)))
atau bersamaan
DIFF (R1, DIFF (R1, R2))
Mengapa algebra yang?
bahasa yang mudah
ditetapkan pada akses masa
bunyi semantik
meluahkan pertanyaan yang sama yang lain bahasa model berdasarkan hubungan menerangkan
(Iaitu kalkulus hubungan yang perisytiharan)
prosedur
optimisable
Pertanyaan (satu) â € “”Syarikat
Mendapat kembali kemudian nama dan alamat bagi semua pekerja yang bekerja untuk jabatan â € ~Researchâ € ™.
research_dept: = pilih dname = â € ™ Researcgâ € ™ (jabatan);
research_dept_emps: = pilih dnumber = DNO (pekerja produk research_dept);
algl1: = projek fname, lname, alamat (research_dept_emps);
Pertanyaan (dua) â € “”Syarikat
Bagi setiap projek yang terletak di â € ~Staffordâ € ™, senaraikan bilangan projek, nombor jabatan yang mengawal, Dan managerâ jabatan € ™ s lepas nama, alamat, dan tarikh lahir.
Stafford-_projs: = pilih plocation = â € ™ Staffordâ € ™ (projek);
Contr_dept: = pilih dnum-dnumber (jabatan produk Stafford_projs);
proj_dept_mgr: = pilih mgrssn = SSN (pekerja produk contr_dept);
alg2: = projek pnumber, dnum, lname, alamat, bdate (proj_dept_mgr);
Pertanyaan (tiga) â € “”Syarikat
Cari nama-nama pekerja yang bekerja pada semua Projek dikawal dengan jumlah jabatan 5.
Dept5_projs (pno): = projek pnumber (pilih dnum = 5 (projek)); emp_proj (SSN, pno): = projek essn, pno (works_on); emp_proj_ssns: = SSN projek (emp_proj); % Semua kemungkinan pekerja yang bekerja di projek-projek dept5. Poss_emps_dept5: = (dept5_projs emp_proj_ssns produk); /% Pekerja yang memakai kerja € ™ s pada semua projek dept5 .. emps_not_dept5: = projek SSN (poss_emps_dept5 perbezaan emp_proj); result_emp_ssns: = emp perbezaan SSN proj emps_not_dept5; alg3: = projek lname, fname (result_emp_ssns njoin pekerja);
Pertanyaan (empat) â € “”Syarikat
Buat satu senarai nombor projek bagi projek-projek yang melibatkan seorang pekerja yang namanya terakhir adalah â € ~Smithâ € ™, Sama ada sebagai pekerja atau sebagai pengurus Jabatan yang mengawal projek.
Smiths (essn): = projek SSN (pilih lname = â € ~Smithâ € ™ (pekerja));
smith_worker_projs: = projek pno (works_on njoin pandai besi);
MGRS: = projek lname, dnumber (pilih SSN = mgrssn (jabatan produk pekerja));
smith_mgrs: = selecy lname = â € ™ Smitha € ™ (MGRS);
smith_managed_depts (dnum): = projek dnumber (smith_mgrs);
smith_mgr_projs (pno): = projek pmumber (smith_managed_depts njoin projek);
alg3: = smith_worker_projs smith_mgr_projs kesatuan;
Pertanyaan (lima) â € “”Syarikat
Senarai nama semua pekerja dengan dua atau lebih Tanggungan.
% Buat dua salinan pekerja yang mempunyai tanggungan.
Empdep1 (essn, depname1): = projek essn, dependent_name (bergantung);
empdep2 (essn2, depname2): = empdep1;
& Pekerja dengan lebih daripada seorang orang tanggungan.
Emps_gtone_dep (SSN): = essn1 projek (pilih (essn = essn2) dan (depname1 <> depname2) (empdep1 produk empdep2));
alg5: = lname projek, fname (pekerja njoin emps) gtone_dep);
Pertanyaan (enam) – Syarikat
Ambil nama-nama pekerja yang tidak mempunyai tanggungan.
All_emps: = projek SSN (pekerja); Emps_with_deps (SSN): = essn projek (bergantung); Emps_without_deps: = (all_emps
emps_with_deps perbezaan); Alg6: = projek lname, fname
(Emps_without_deps njoin pekerja);
Pertanyaan (tujuh) â € “”Syarikat
Senarai nama-nama pengurus yang mempunyai sekurang-kurangnya Satu bergantung.
Mgrssn (SSN): = mgrssn projek (jabatan); Emps_with_deps (SSN): = essn projek (bergantung); Mgrs_with_deps: = (mgrssn bersilang emps_with_deps); Alg7: = projek lname, fname
(Mgrs_with_deps njoin pekerja);

“——————————————————————————————————————————————————

പിന്തുണ വിവർത്തനം: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
റിലേഷണൽ ആൾജിബ്ര
ഒരു ആൾജിബ്ര എന്താണ്?
ബീജഗണിതം (അൽ-JE-BRE) നാമം
ഗണിതശാസ്തം
1 ഗണിതക്രിയകളും സാമാന്യമായ ഒരു ഏത് ചിഹ്നങ്ങൾ, അക്ഷരമാലയിലെ സാധാരണയായി അക്ഷരങ്ങൾ, അക്കങ്ങൾ ഒരു കൂട്ടം പ്രത്യേക എണ്ണം അംഗങ്ങളെ പ്രതിനിധാനം സെറ്റ് എല്ലാ നമ്പറുകളും പിടിക്കുക ആ ഓപ്പറേഷൻസ് വഴി ബന്ധപ്പെട്ടിരിക്കുന്നു.
2 ഒരു നിശ്ചിത നിയമങ്ങൾ അനുസരിക്കുന്ന സെറ്റ് നിർവചിച്ചിരിക്കുന്ന പ്രവർത്തനവുമായി ഒന്നിച്ച് സജ്ജമാക്കാൻ.
3 വാക്ക് അറബ് ഗണിതശാസ്ത്രജ്ഞനായ അൽ ഖവാരിസ്മി (900 നടുത്ത്) വഴി പരിചയപ്പെടുത്തി 1145 ൽ ചെസ്റ്റർ റോബർട്ട് ലത്തീനിലേക്ക് കൂട്ടിക്കൊണ്ടുപോയി.

[മിഡിൽ ഇംഗ്ലീഷ്, അസ്ഥി-ക്രമീകരണം ഇറ്റാലിയൻ, ബീജഗണിതം, രണ്ടും ഒരുമിപ്പിക്കുന്നതിൽ അറബിക് അൽ അൽജബർ, (ശാസ്ത്രം) മുതൽ, മദ്ധ്യകാല ലാറ്റിൻ നിന്ന്:. Al, അൽജബർ, പുനരേകീകരണ, അസ്ഥി-ക്രമീകരണം]
ബീജീയഗ്രൂപ്പുകളും ഭാഷകളിൽ കമ്പ്യൂട്ടിംഗ് സാധാരണമായതുകൊണ്ട് ലോജിക് വാതിലുകൾ വേണ്ടി ബൂളിയൻ ബീജഗണിതം; ഡാറ്റാബേസ് DML വേണ്ടി റിലേഷണൽ ബീജഗണിതം.
ഒരു ബീജഗണിതത്തിന്റെ അടിസ്ഥാന ചേരുവകൾ ഒരു കൂട്ടം (അതായത് ഓപ്പറൻറ്) സെറ്റ് എല്ലാ ഘടകങ്ങളും പ്രവർത്തിക്കാൻ ആ ഓപ്പറേഷൻസ് (അതായത് ഓപ്പറേറ്റർമാർ) എന്നിവയാണ്.
ഓപ്പറേറ്റർ ഉള്ള (ഉദാഹരണത്തിന്, ഒരു പൂർണ്ണസംഖ്യ സെറ്റ് പുറമേ ഓപ്പറേഷൻ പരിഗണിക്കുക) ഉൾപ്പെടുന്നു: ചേർത്ത ശേഷം 3 + 4 = 4 + 3 പൂർണ്ണസംഖ്യകളുടെ മേൽ commutative ആണ് (പ്ലസ് (3,4) == പ്ലസ് (4,3)); ഒപ്പം ചേർത്ത പൂർണ്ണസംഖ്യകളുടെ മേൽ associative ആയിരിക്കാൻ 3 + (4 + 5) ശേഷം = (3 + 4) + 5 (പ്ലസ് (3, പ്ലസ് (4,5)) == പ്ലസ് (പ്ലസ് (3,4), 5 പറയപ്പെടുന്നു ))).
Rel സവിശേഷതകൾ. ആൾജിബ്ര
ഒരു മുഴുവനായും ബന്ധം കൈകാര്യം
പ്രവർത്തനങ്ങൾ semantically unambigous സെറ്റ് (എഡ്
റിലേഷണൽ 1970).

റിലേഷണൽ ബീജഗണിതം ന്റെ സെറ്റുകൾ ചാർച്ചക്കാരത്തിയല്ലോ ന്റെ ആകുന്നു
വിപുലീകരണം (tuples, വരികൾ) ഓപ്പറേറ്റർമാർക്കും
ഒരു സെറ്റ് ബീജീയഘടനകളുടെ വംശജരായ ബന്ധവുമുള്ളതായിരിക്കില്ല oriented ഒന്നുകിൽ
പ്രീതി.

ഒരു റിലേഷണൽ ബീജീയഗ്രൂപ്പുകളും പദപ്രയോഗം ചെലവായ മൂല്യം പോലെ
(Unary), രണ്ടോ (ബൈനറി), ബന്ധങ്ങൾ ചിലപ്പോൾ ഒരു
നിരക്കു കണ്ടീഷൻ.
എക്സ്പ്രഷൻ ന്റെ ഔട്ട്പുട്ട് ഒരൊറ്റ ചാർച്ചക്കാരത്തിയല്ലോ സമയത്ത്.

മറ്റു സവിശേഷതകൾ:

ബന്ധത്തിലെ ന്റെ tuples എല്ലാ ബീജഗണിതം ന്റെ ഓപ്പറേറ്റർമാർ പണി;

ബീജഗണിതം കർശനമായ ഒരു കമ്പ്യൂട്ടേഷണൽ ഉണ്ട്
മോഡൽ;

എന്നാൽ അത് ഒരുത്തൻ എഴുതാം, “”ട്യൂറിംഗ് പൂർത്തിയാക്കുക”” ആണ്
വേണ്ടി ബന്ധം കൈകാര്യം ആ പാസ്കൽ പ്രോഗ്രാം
യാതൊരു ബീജീയ തത്തുല്യ ഇല്ല.

ഒരു നിരക്കു കണ്ടീഷൻ നേരെ മൂല്യനിർണയം ഉണ്ട്
ഓരോ സ്വതന്ത്രമായി tuple;

ഒരു ബീജീയ ഓപ്പറേഷൻ ഔട്ട്പുട്ട് ഒരു ആണ്
ഒരു ഫലമായി ഉണ്ടായ ബീജീയഗ്രൂപ്പുകളും സ്വീകാര്യമായ ഇൻപുട്ട്
പദപ്രയോഗം – ഈ പദപ്രയോഗം വിളിക്കുന്നു
കോമ്പോസിഷൻ.

ഓപ്പറേറ്റർമാർ: യൂണിയൻ (ബൈനറി)
എത്ര റിലേഷണൽ ബീജീയഗ്രൂപ്പുകളും എക്സ്പ്രഷൻ അതിന്റെ ഫലമായി പുലർത്തുന്നതി ടൈപ്പിംഗ് കുറിച്ച്?
ഒരു ബൈനറി എക്സ്പ്രഷൻ രണ്ടു റിലേഷൻസ് രണ്ടു പങ്കെടുക്കുന്ന ബന്ധം (ഓപ്പറണ്ടുകളും – R1, R2) എന്ന “”കേന്ദ്ര”” അനുയോജ്യത (യുസി) തരം ശരിയാക്കുന്നതിന് പദപ്രയോഗം ഇനിപ്പറയുന്ന ഘടനാപരമായ നിയന്ത്രണങ്ങൾ ഉണ്ടായിരിക്കണം: 1) രണ്ടും ബന്ധം ഒരേ ബിരുദം ( അതായത് n); & 2) ഓരോ ആട്രിബ്യൂട്ട് (1 <= ഞാൻ <= N) വേണ്ടി, ഡൊമെയ്ൻ (R1.Attr_i) ഡൊമെയ്ൻ (R2.Attr_i) =. ഒരു എക്സ്പ്രഷൻ ന്റെ ഡാറ്റ തരം രണ്ടു ബന്ധങ്ങൾ u.c. എങ്കിൽ എന്നാല് ഫലം ബന്ധം സ്കീമ ഏകപക്ഷീയമായ ആദ്യ ഓപ്പറൻറ് ആ തിരഞ്ഞെടുത്തിരിക്കുന്നു ആണ്. മറ്റെവിടെയും … (ഓപ്പറൻറ് നിർദ്ദിഷ്ട – ഉദാ ഉൽപ്പന്ന ഓപ്പറേറ്റർ) സെമാന്റിക്കുകൾ: ഫലമായി ബന്ധത്തിലെ എല്ലാ ആദ്യ അല്ലെങ്കിൽ രണ്ടും ഓപ്പറണ്ടുകളും ഒന്നുകിൽ കൂടിയിരിക്കുന്നു tuple ഉണ്ട്.
ടൈപ്പിംഗ്:
ഇരുവരും ഓപ്പറൻറ് ബന്ധങ്ങൾ u.c. എങ്കിൽ ഫലമായി ബന്ധത്തിലെ സ്കീമിന്റെ തരം ആദ്യ ഓപ്പറൻറ് ഉണ്ടെന്നു തന്നെ
നൊട്ടേഷൻ:
R1 യു R2 യൂണിയൻ (R1, R2)
commutative അതെ associative അതെ
ഓപ്പറേറ്റർമാർ: വ്യത്യാസത്തിൽ (ബൈനറി)
സെമാന്റിക്കുകൾ:
ഫലമായി ബന്ധത്തിലെ രണ്ടാം ഓപ്പറൻറ് ലെ സാന്നിധ്യമില്ലാത്തപ്പോൾ ആദ്യം ഓപ്പറൻറ് എല്ലാ tuples ഉൾപ്പെടുന്നു.
ടൈപ്പിംഗ്:
ഇരുവരും ഓപ്പറൻറ് ബന്ധങ്ങൾ u.c. എങ്കിൽ ഫലമായി ബന്ധത്തിലെ സ്കീമിന്റെ തരം ആദ്യ ഓപ്പറൻറ് ഉണ്ടെന്നു തന്നെ
നൊട്ടേഷൻ:
R1 – R2 DIFF (R1, R2)
commutative ഇല്ല associative ഇല്ല
ഓപ്പറേറ്റർമാർ: തിരഞ്ഞെടുക്കൽ (unary)
സെമാന്റിക്കുകൾ:
ഓപ്പറൻറ് നിന്ന് നിരക്കു അവസ്ഥ തൃപ്തിപ്പെടുത്താൻ എല്ലാ tuples എക്സ്ട്രാക്റ്റുചെയ്യുന്ന ഒരു പുതിയ ബന്ധത്തിലെ സൃഷ്ടിക്കുക.
Tuples:
ഫലം ബന്ധത്തിലെ സ്കീമിന്റെ തരം ഓപ്പറൻറ് ന്റെ സ്കീമയിലേക്ക് തുല്യമാണ്.
തിരഞ്ഞെടുപ്പ് കണ്ടീഷൻ ഇനിപ്പറയുന്ന ഫോം ഉണ്ട്:
പേര് താരതമ്യ ഓപ് ആട്രിബ്യൂട്ടുചെയ്യുക. കോൺസ്റ്റന്റ് മൂല്യം അല്ലെങ്കിൽ ആട്രിബ്യൂട്ട് പേര് താരതമ്യം ആപ്. ആട്രിബ്യൂട്ടിന്റെ പേര്
തിരഞ്ഞെടുക്കൽ അവസ്ഥ ഒരു പരമ്പര തിരഞ്ഞെടുത്ത CONDITION1 പോലെ ഒരുമിച്ചുചേർക്കുകയും CONDITION2 തിരഞ്ഞെടുത്ത CONDITION1 അല്ലെങ്കിൽ CONDITION2 തെരഞ്ഞെടുക്കുക കഴിയുമായിരുന്നു
ഉത്തരവിട്ടു ഡൊമെയ്നുകൾ ഉൾപ്പെടുന്നു>, <, ==,! =, മുതലായവയ്ക്ക് ചില സാധാരണ താരതമ്യത്തിന് ഓപ്പറേറ്റർമാർ
നൊട്ടേഷൻ:
(കണ്ടീഷൻ തിരഞ്ഞെടുക്കുക) R1 തിരഞ്ഞെടുക്കുക (R1, നിരക്കു കണ്ടീഷൻ)
കുറിപ്പ്:
ഫലം ഓപ്പറൻറ് ഒരു മാരിബ്!

commutative അതെ associative അതെ
റിലേഷണൽ ആൾജിബ്ര: ഓപ്പറേറ്റർമാർ: ഉൽപ്പന്നം (ബൈനറി)
സെമാന്റിക്കുകൾ:
ഒരു കാര്ട്ടീഷ്യന്പ്ലോട്ട് ഉൽപ്പന്നം പുന ഒരു പുതിയ ബന്ധത്തിലെ സൃഷ്ടിക്കുക
രണ്ടു ഓപ്പറാന്റുകളും.
(R1, R2 എന്ന cardinalities 60000 500 ആണെങ്കിൽ
യഥാക്രമം അവരുടെ ഉൽപ്പന്നത്തിന്റെ cardinality 60000 * 500 ആണ് =
30,00,000!)

ടൈപ്പിംഗ്:
ഓപ്പറണ്ടുകളും എന്തെങ്കിലും ബന്ധമുണ്ടോ സ്കീമ ഉണ്ടായിരിക്കാൻ കഴിയും. ഫലമായി ബന്ധത്തിലെ സ്കീമ ഓപ്പറൻറ് ന്റെ ബന്ധത്തിലെ സ്കീമയിലേക്ക് ബൈറ്റായി തുല്യമാണ്.
നൊട്ടേഷൻ:
ഇത് അത്യന്തം കമ്പ്യൂട്ടേഷണൽ ചെലവേറിയത്
ഓപ്പറേഷൻ!
എതിരെ, ഫലമായി വിപുലീകരണം അല്ല സാധാരണയായി ഫലപ്രദമാകൂ !!

അതെ commutative
associative അതെ

ഓപ്പറേറ്റർമാർ: പ്രൊജക്ഷൻ (unary)
സെമാന്റിക്കുകൾ:
ഓപ്പറൻറ് നിന്നുള്ള പ്രൊജക്ഷൻ എക്സ്പ്രഷൻ പരാമർശിക്കപ്പെടുന്നില്ല എല്ലാ ഗുണവിശേഷങ്ങളും (ഇവയില്ലായിരുന്നുവെങ്കിൽ അവരുടെ മൂല്യങ്ങൾ) നീക്കം ചെയ്ത് ഒരു പുതിയ ബന്ധത്തിലെ സൃഷ്ടിക്കുക.
ടൈപ്പിംഗ്:
ഫലം സ്കീമിന്റെ തരം ഓപ്പറൻറ് ന്റെ സ്കീമയിലേക്ക് തുല്യമാണ് പക്ഷേ ആട്രിബ്യൂട്ട് ലിസ്റ്റിൽ പരാമർശവുമില്ല ആട്രിബ്യൂട്ടുകൾ കൂട്ടാതെ.
നൊട്ടേഷൻ:
(ATTR … X1, …, attr_xn) പദ്ധതി (R1, attr_x1, …, attr_xn)
കുറിപ്പ്:
തനിപ്പകർപ്പ് മൂല്യങ്ങൾ നിസ്സംശയമായി നീക്കംചെയ്തു!
കൂടുതല്കുറിപ്പുകള്:
പദ്ധതികൾ ഒരു സ്ട്രിംഗ് ഒരു ബീജീയ പദപ്രയോഗം ഞങ്ങൾ രണ്ടു കാര്യങ്ങൾ നടക്കുന്നത് ഞങ്ങൾക്കുണ്ട് – പുന വീണ്ടും നീട്ടുന്നതിന് !! ചില ബീജീയഗ്രൂപ്പുകളും മാറ്റങ്ങൾ കൂടി ഒറ്റ ഈ നിയന്ത്രണങ്ങൾ മറികടക്കാൻ കഴിയും.
commutative (പൊതുവേ) യാതൊരു associative (പൊതുവേ) ഇല്ല
ഓപ്പറേറ്റർമാർ മിനിമൽ സെറ്റ്
ഇത് മറ്റ് ഓപ്പറേറ്റർമാർ വിവരിക്കാൻ (ചേരാൻ, കവല ഉദാഹരണത്തിന് തുടങ്ങിയവ) കാണിക്കും സാധിക്കും ഓപ്പറേറ്റർമാർ (പ്രത്യേകമായി തിരഞ്ഞെടുത്ത, പ്രോജക്ട്, യൂണിയൻ, വ്യത്യാസം ഉൽപ്പന്ന) ഉപസെറ്റ് മതിയായ അല്ലെങ്കിൽ പൂർണ്ണമായ ആകുന്നു എന്നു.
സമ്പൂർണ്ണ നിന്ന് ഓപ്പറേറ്റർമാർ യില് വളരെ unyielding ചില സ്വാഭാവിക ബീജീയഗ്രൂപ്പുകളും പദപ്രയോഗങ്ങൾ നിഷ്ടയോടെ!
ഉദാഹരണത്തിന്, കവല ഓപ്പറേറ്റർ ഈ ഫോം:
കവലകൾ (R1, R2)
DIFF (യൂണിയൻ (R1, R2), യൂണിയൻ (മാറ്റം (R1, R2), (മാറ്റം (R2, R1))) തുല്യമാണ്
അല്ലെങ്കിൽ തുല്യമാണ്
DIFF (R1, DIFF (R1, R2))
എന്തിന് ഒരു ബീജഗണിതം?
ഒരു ലളിതമായ ഭാഷ
ഒരു സമയം ആക്സസ് സജ്ജമാക്കിയ
semantically ശബ്ദം
മറ്റൊരു മോഡലിന്റെ അടിസ്ഥാനമാക്കിയുള്ള ഭാഷ വിവരിക്കുന്ന അതേ അന്വേഷണങ്ങൾ പ്രകടിപ്പിക്കുന്ന
(അതായത് പ്രസ്താവന റിലേഷണൽ കാൽക്കുലസ്)
നടപടിക്രമങ്ങൾ
optimisable
ചോദ്യം (ഒന്ന്) € “”കമ്പനി
അപ്പോൾ ഒരു € ~Researchâ € ™ വകുപ്പ് പ്രവർത്തിക്കാൻ എല്ലാവരും ജീവനക്കാരുടെ പേരും വിലാസവും വീണ്ടെടുക്കുക.
research_dept: = തിരഞ്ഞെടുത്ത dname = € ™ Researcgâ € ™ (വകുപ്പ്) ഒരു;
research_dept_emps: = തിരഞ്ഞെടുത്ത dnumber = dno (research_dept ഉൽപ്പന്ന ജീവനക്കാരൻ);
algl1: = പദ്ധതി fname, lname, വിലാസം (research_dept_emps);
ചോദ്യം (രണ്ട്) € “”കമ്പനി
â € ~Staffordâ € ™ സ്ഥിതി ഓരോ പ്രൊജക്ടിന് പ്രോജക്റ്റ് നമ്പർ, നിയന്ത്രിയ്ക്കാനുള്ള ഡിപ്പാർട്ട്മെന്റ് നമ്പർ, വകുപ്പ് managerâ € ™ ന്റെ അവസാന നാമം, വിലാസം, ജനനത്തീയതി പട്ടികയിടാൻ.
സ്റ്റാഫോർഡ്-_projs: = തിരഞ്ഞെടുത്ത plocation = € ™ Staffordâ € ™ (പദ്ധതികൾ) ഒരു;
Contr_dept: = തിരഞ്ഞെടുത്ത dnum-dnumber (Stafford_projs ഉൽപ്പന്ന വകുപ്പ്);
proj_dept_mgr: = തിരഞ്ഞെടുത്ത mgrssn = ആരിരിക്കുന്നു (contr_dept ഉൽപ്പന്ന ജീവനക്കാരൻ);
alg2: = പദ്ധതി pnumber, dnum, lname, വിലാസം, bdate (proj_dept_mgr);
ചോദ്യം (മൂന്ന്) € “”കമ്പനി
ഡിപ്പാർട്ട്മെന്റ് നമ്പർ 5 നിയന്ത്രണത്തിലുള്ള എല്ലാ പദ്ധതികളിലെ പ്രവർത്തിക്കുന്ന ജീവനക്കാരുടെ പേരുകൾ കണ്ടെത്തുക.
Dept5_projs (pno): = പദ്ധതി pnumber (dnum തിരഞ്ഞെടുക്കുക = 5 (പദ്ധതികൾ)); emp_proj (SSN, pno): = പദ്ധതി essn, pno (works_on); emp_proj_ssns: = പദ്ധതി ആരിരിക്കുന്നു (emp_proj); % Dept5 സംരംഭങ്ങളിൽ പ്രവർത്തിക്കുന്ന ജീവനക്കാരിൽ സാധ്യതകൾ. Poss_emps_dept5: = (ഉൽപ്പന്ന emp_proj_ssns dept5_projs); /% ആ പ്രസവാവധിയാണ് € ™ s എല്ലാ dept5 സംരംഭങ്ങളിൽ പണി എംപ്ലോയീസ് .. emps_not_dept5: = പദ്ധതി ആരിരിക്കുന്നു (poss_emps_dept5 വ്യത്യാസം emp_proj); result_emp_ssns: = emp സാങ്കൽപ്പിക ssns വ്യത്യാസം emps_not_dept5; alg3: = പദ്ധതി lname, fname (ജീവനക്കാരൻ njoin result_emp_ssns);
ചോദ്യം (നാല്) € “”കമ്പനി
ആരുടെ അവസാന നാമം ഒരു തൊഴിലാളിയുടെ ആയി അല്ലെങ്കിൽ പദ്ധതി നിയന്ത്രിക്കുന്ന വകുപ്പിന്റെ മാനേജരായി ഒന്നുകിൽ, € ~Smithâ € ™ എന്നത് ഒരു ജീവനക്കാരൻ ഏർപ്പെടുന്ന പദ്ധതികൾ പദ്ധതി നമ്പറുകൾ ഒരു ലിസ്റ്റ് നിർമ്മിക്കുക.
ആശാരിമാരും (essn): = പദ്ധതി ആരിരിക്കുന്നു (lname തിരഞ്ഞെടുക്കുക = ഒരു € ~Smithâ € ™ (ജീവനക്കാരൻ));
smith_worker_projs: = പദ്ധതി pno (ആശാരിമാരും njoin works_on);
mgrs: = പദ്ധതി lname, dnumber (തിരഞ്ഞെടുക്കുക ആരിരിക്കുന്നു = mgrssn (ജീവനക്കാരൻ ഉൽപ്പന്ന വകുപ്പ്));
smith_mgrs: = selecy lname = € ™ സ്മിത € ™ (mgrs) ഒരു;
smith_managed_depts (dnum): = പദ്ധതി dnumber (smith_mgrs);
smith_mgr_projs (pno): = പദ്ധതി pmumber (പദ്ധതികൾ njoin smith_managed_depts);
alg3: = smith_worker_projs യൂണിയൻ smith_mgr_projs;
ചോദ്യം (അഞ്ച്) € “”കമ്പനി
രണ്ടോ അതിലധികമോ ആശ്രിതർക്കോ എല്ലാ ജീവനക്കാരുടെ പട്ടികയിലുണ്ട്.
% ആശ്രിതർക്കോ ജീവനക്കാർക്ക് രണ്ട് പകർപ്പ്.
Empdep1 (essn, depname1): = പദ്ധതി essn, dependent_name (ആശ്രിത);
empdep2 (essn2, depname2): = empdep1;
& ആശ്രിത ഒറ്റ ലധികം എംപ്ലോയീസ്.
Emps_gtone_dep (SSN): = പദ്ധതി essn1 (തിരഞ്ഞെടുക്കുക (essn = essn2) ഉം (depname1 <> depname2) (empdep1 ഉൽപ്പന്നം empdep2));
alg5: = പദ്ധതി lname, fname (emps njoin ജീവനക്കാരൻ) gtone_dep);
ചോദ്യം (ആറ്) – കമ്പനി
യാതൊരു ആശ്രിതർക്കോ ഞങ്ങൾക്കുണ്ട് ജീവനക്കാരുടെ പേരുകൾ വീണ്ടെടുക്കുക.
All_emps: = പദ്ധതി ആരിരിക്കുന്നു (ജീവനക്കാരൻ); Emps_with_deps (SSN): = പദ്ധതി essn (ആശ്രിത); Emps_without_deps: = (all_emps
വ്യത്യാസം emps_with_deps); Alg6: = പദ്ധതി lname, fname
(Njoin ജീവനക്കാരൻ emps_without_deps);
ചോദ്യം (ഏഴ്) € “”കമ്പനി
ആശ്രിത കുറഞ്ഞത് ഒരു കൈവശമുള്ള മാനേജർമാർ പട്ടികയിലുണ്ട്.
Mgrssn (SSN): = പദ്ധതി mgrssn (വകുപ്പ്); Emps_with_deps (SSN): = പദ്ധതി essn (ആശ്രിത); Mgrs_with_deps: = (emps_with_deps കൂട്ടിമുട്ടുന്ന mgrssn); Alg7: = പദ്ധതി lname, fname
(ജീവനക്കാരൻ njoin mgrs_with_deps);

“——————————————————————————————————————————————————

Appoġġ traduzzjoni: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
relazzjonali Alġebra
X’inhu Alġebra?
alġebra (al-je-għmr) Nom
matematika
1 A ġeneralizzazzjoni ta ‘aritmetika li fihom simboli, normalment ittri tal-alfabett, jirrappreżentaw numri jew membri ta’ sett speċifiku ta ‘numri u huma relatati mill-operazzjonijiet li jżommu għal numri kollha fis-sett.
2 A sett flimkien ma ‘operazzjonijiet definiti fis-sett li jobdu liġijiet speċifikati.
3 Kelma introdotta mill matematiku Għarab al-Khwarizmi (circa 900 AD) u nġiebu fis Latina minn Robert ta Chester fl 1145.

[Nofsani Ingliż, bl-għadam iffissar u Taljan, alġebra, kemm mill Medjevali Latina, mill-Għarbi al-jabr, il (xjenza tal) terġa ‘tingħaqad:. Al, il-+ jabr, riunifikazzjoni, bl-għadam iffissar]
lingwi alġebrin huma komuni fl-informatika: alġebra Boolean għall logic gates; u alġebra relazzjonali għall DML database.
ingredjenti bażiċi ta ‘algebra huma sett (operand jiġifieri) u l-operazzjonijiet (operaturi jiġifieri) li jaġixxu fuq l-elementi kollha tas-sett.
Proprjetajiet operatur (per eżempju, jikkunsidraw integer stabbiliti u t-tħaddim żieda) jinkludu: iż-żieda hija kommuttativa fuq l-interi mit-3 + 4 = 4 + 3 (plus (3,4) == plus (4.3)); u Żjieda huwa qal li jkun assoċjattiv fuq l-interi sa 3 + (4 + 5) = (3 +4) + 5 (plus (3, flimkien ma ‘(4,5)) == flimkien (miżjuda (3,4), 5 ))).
Karatteristiċi ta ‘l-Rel. alġebra
Hija jimmanipula relazzjonijiet kollu permezz ta ‘
sett semantikament unambigous ta ‘operazzjonijiet (Ed
Codd 1970).

Settijiet il alġebra relazzjonali huma l-tal f’relazzjoni
estensjoni (tuples, ringieli) u l-operaturi għandhom
jew oriġini theoretic sett jew relazzjoni orjentati
favur.

A espressjoni algebra relazzjonali għandha bħala inputs wieħed
(Unary), jew tnejn (binarja), ir-relazzjonijiet u kultant
kundizzjoni għażla.
Filwaqt li espressjoni produzzjoni hija relazzjoni waħda.

Karatteristiċi oħra:

operaturi tal-Algebra jaħdem fuq kollha ta ‘tuples r-relazzjoni ta;

l-alġebra għandha komputazzjoni proċedurali
mudell;

Iżda mhux “”Turing komplet””, wieħed jista ‘jikteb
programm Pascal li jimmanipula r-relazzjonijiet għall
li m’hemm l-ebda ekwivalenti alġebrin.

kundizzjoni għażla trid tiġi evalwata kontra
kull tuple b’mod indipendenti;

l-output ta ‘operazzjoni alġebrin huwa
kontribut aċċettabbli għal alġebrin konsegwenti
espressjoni – dan jissejjaħ l-espressjoni
kompożizzjoni.

Operaturi: Unjoni (binarju)
Xi ngħidu dwar il-ittajpjar ta ‘espressjoni alġebrin relazzjonali u r-relazzjoni riżultanti tagħha?
“”UNION”” KOMPATIBILITÀ (uc) tal ŻEWĠ RELAZZJONIJIET Għal espressjoni binarja, iż-żewġ parteċipanti Relazzjonijiet (operands – R1 u R2) għandu jkollu l-limitazzjonijiet strutturali li ġejjin għall-espressjoni li jkun tip korrett: 1) kemm ir-relazzjonijiet għandhom l-istess grad ( jiġifieri n); & 2) għal kull attribut (1 <= i <= n),-dominju (R1.Attr_i) = domain (R2.Attr_i). Dejta tat-tip TA ‘s Espressjoni Jekk iż-żewġ relazzjonijiet huma u.c. Imbagħad il-schema-rigward tal-riżultanti hija arbitrarja magħżula biex tkun dik ta ‘l-ewwel operand. IKTAR … (operand speċifiku – pereżempju operatur prodott) Semantika: Ir-relazzjoni li jirriżulta jkollu l-tuple preżenti jew fil-ewwel, it-tieni jew it-tnejn operands.
ittajpjar:
It-tip ta ‘l-iskema rigward ta riżultanti hija dik ta’ l-ewwel operand jekk kemm ir-relazzjonijiet operand huma u.c.
notazzjoni:
R1 U R2 UNJONI (R1, R2)
kommuttativa assoċjattiva IVA IVA
Operaturi: Differenza (binarju)
semantika:
Ir-relazzjoni li tirriżulta tinkludi l-tuples tal-ewwel operand li mhumiex preżenti fit-tieni operand.
ittajpjar:
It-tip ta ‘l-iskema rigward ta riżultanti hija dik ta’ l-ewwel operand jekk kemm ir-relazzjonijiet operand huma u.c.
notazzjoni:
R1 – R2 DIFF (R1, R2)
LE kommuttativa LE assoċjattiva
Operaturi: Għażla (unary)
semantika:
Oħloq relazzjoni ġdida mill-estrazzjoni mill-operand tuples kollha li jissodisfaw il-kundizzjonijiet ta ‘selezzjoni.
tuples:
It-tip ta ‘l-iskema rigward tal riżultanti hija ekwivalenti għal schema tal-operand tal.
Kundizzjoni għażla għandha l-forma li ġejja:
Attribut isem op Paragun. valur kostanti jew Attribut isem Paragun op. attribut isem
Serje ta ‘kundizzjonijiet ta’ Selezzjoni jistgħu jiġu kkombinati bħal fil condition1 tagħżel u tagħżel condition2 jew tagħżel condition1 jew tagħżel condition2
Xi operaturi paragun tipiċi għal oqsma ordnati jinkludu>, <, ==,! =, Eċċ
notazzjoni:
(Agħżel kundizzjoni) R1 TAGĦŻEL (R1, kundizzjoni għażla)
Nota:
Il riżultanti hija sottosett tal-operand!

kommuttativa assoċjattiva IVA IVA
Relazzjonali Alġebra: Operaturi: Prodott (binarju)
semantika:
Oħloq relazzjoni ġdida billi jeżegwixxu prodott Kartesjani
taż-żewġ operands.
(Jekk il-cardinalities ta R1 u R2 huma 60000 u 500
rispettivament, cardinality prodott tagħhom huwa 60000 * 500 =
3,000,000!)

ittajpjar:
Il-operands jista ‘jkollhom xi schema-rigward. Il schema-rigward li jirriżulta huwa ekwivalenti għall-konkatenazzjoni tal schema-rigward tal-operand tal.
notazzjoni:
Dan huwa estremament computationally għalja
operazzjoni!
Ukoll, l-estensjoni tirriżulta mhux normalment sinifikanti !!

kommuttativa Iva
assoċjattiva Iva

Operaturi: Projezzjoni (unary)
semantika:
Oħloq relazzjoni ġdida billi tneħħi mis-operand attributi kollha (u konsegwentement valuri tagħhom) li mhumiex imsemmija fl-espressjoni projezzjoni.
ittajpjar:
It-tip ta ‘l-iskema li jirriżulta huwa ekwivalenti għall schema tal-operand iżda esklużi l-attributi mhumiex imsemmija fil-lista attribut.
notazzjoni:
(Attr … x1, …, attr_xn) PROĠETT (R1, attr_x1, …, attr_xn)
Nota:
Valuri duplikati huma impliċitament jitneħħew!
Aktar Noti:
Fi espressjoni alġebrin ma ‘sensiela ta’ proġetti għandna żewġ affarijiet għaddej – ristrutturar u ri-jestendi !! Ma ‘ċerti manipulazzjonijiet algebra wieħed jista jingħelbu dawn ir-restrizzjonijiet.
kommuttativa (b’mod ġenerali) Nru assoċjattiva (b’mod ġenerali) Nru
sett minimu ta ‘operaturi
Dan jista ‘jintwera li subsett ta’ l-operaturi ippreżentati (speċifikament il tagħżel, proġett, unjoni, differenza u prodott) huma adegwati, jew kompleta, li jiddeskrivu l-operaturi l-oħra (per eżempju jissieħbu, intersezzjoni eċċ).
L-użu esklussiv ta ‘operaturi mis-sett komplut jagħmlu qari xi espressjonijiet alġebrajiċi naturali estremament soda!
Per eżempju, l-operatur intersezzjoni għandu din il-formola:
INTERSECTION (R1, R2)
huwa ekwivalenti għal DIFF (UNJONI (R1, R2), UNION (DIFF (R1, R2), (DIFF (R2, R1)))
jew ekwivalenti għal
DIFF (R1, DIFF (R1, R2))
Għaliex alġebra?
lingwa sempliċi
stabbilit għal aċċess f’ħin
ħoss semantikament
jesprimi l-istess mistoqsijiet li relazzjonali lingwa oħra mudell ibbażat tiddeskrivi
(Jiġifieri l-kalkulu relazzjonali ‘dikjarazzjoni)
proċedurali
optimisable
Mistoqsija (wieħed) â € “”Kumpannija
Irkuprata allura isem u l-indirizz tal-impjegati kollha li jaħdmu għall–â € ~Researchâ € ™ dipartiment.
research_dept: = dname agħżel = â € ™ Researcgâ € ™ (dipartiment);
research_dept_emps: = agħżel dnumber = DNO (impjegat prodott research_dept);
algl1: = fname proġett, lname, indirizz (research_dept_emps);
Mistoqsija (tnejn) â € “”Kumpannija
Għal kull proġett li jinsab fl-â € ~Staffordâ € ™, lista in-numru tal-Proġett, in-numru dipartiment kontroll, U l-managerâ dipartiment € ™ s isem l-aħħar, l-indirizz, u birthdate.
Stafford-_projs: = plocation agħżel = â € ™ Staffordâ € ™ (proġetti);
Contr_dept: = agħżel dnum-dnumber (prodott dipartiment Stafford_projs);
proj_dept_mgr: = agħżel mgrssn = SSN (impjegat prodott contr_dept);
alg2: = proġett pnumber, dnum, lname, l-indirizz, bdate (proj_dept_mgr);
Mistoqsija (tlieta) â € “”Kumpannija
Sib l-ismijiet ta ‘impjegati li jaħdmu fuq il-proġetti kollha kkontrollati minn dipartiment numru 5.
Dept5_projs (PNO): = pnumber proġett (agħżel dnum = 5 (proġetti)); emp_proj (SSN, PNO): = ESSN proġett, PNO (works_on); emp_proj_ssns: = SSN proġett (emp_proj); % Possibbiltajiet kollha ta ‘impjegati li jaħdmu fuq proġetti dept5. Poss_emps_dept5: = (dept5_projs emp_proj_ssns prodott); /% Impjegati li Donà € ™ s xogħol fuq il-proġetti kollha dept5 .. emps_not_dept5: = SSN proġett (poss_emps_dept5 differenza emp_proj); result_emp_ssns: = emp SSNs proj differenza emps_not_dept5; alg3: = proġett lname, fname (result_emp_ssns njoin impjegat);
Mistoqsija (erbgħa) â € “”Kumpannija
Agħmel lista ta ‘numri ta’ proġetti għal proġetti li jinvolvu impjegat li ismu aħħar huwa â € ~Smithâ € ™, Jew bħala ħaddiem jew bħala maniġer tad-Dipartiment li jikkontrolla l-proġett.
Smiths (ESSN): = SSN proġett (agħżel lname = â € ~Smithâ € ™ (impjegat));
smith_worker_projs: = PNO proġett (works_on njoin Smiths);
mgrs: = lname proġett, dnumber (agħżel SSN = mgrssn (prodott dipartiment impjegat));
smith_mgrs: = selecy lname = â € ™ Smithâ € ™ (mgrs);
smith_managed_depts (dnum): = dnumber proġett (smith_mgrs);
smith_mgr_projs (PNO): = pmumber proġett (smith_managed_depts njoin proġetti);
alg3: = smith_worker_projs smith_mgr_projs unjoni;
Mistoqsija (ħames) â € “”Kumpannija
Elenkati l-ismijiet tal-impjegati kollha b’żewġ dipendenti jew aktar.
% Agħmel żewġ kopji ta ‘l-impjegati bil dipendenti.
Empdep1 (ESSN, depname1): = ESSN proġett, dependent_name (dipendenti);
empdep2 (essn2, depname2): = empdep1;
& Impjegati b’aktar minn wieħed dipendenti.
Emps_gtone_dep (SSN): = essn1 proġett (agħżel (ESSN = essn2) u (depname1 <> depname2) (empdep1 prodott empdep2));
alg5: = lname proġett, fname (impjegat njoin emps) gtone_dep);
Mistoqsija (sitta) – Kumpannija
Irkuprata l-ismijiet ta ‘impjegati li jkollhom mingħajr dipendenti.
All_emps: = SSN proġett (impjegat); Emps_with_deps (SSN): = ESSN proġett (dipendenti); Emps_without_deps: = (all_emps
emps_with_deps Differenza); Alg6: = lname proġett, fname
(Emps_without_deps njoin impjegat);
Mistoqsija (sebgħa) â € “”Kumpannija
Telenka l-ismijiet tal-maniġers li għandhom mill-inqas dipendent wieħed.
Mgrssn (SSN): = mgrssn proġett (dipartiment); Emps_with_deps (SSN): = ESSN proġett (dipendenti); Mgrs_with_deps: = (mgrssn jiltaqgħu emps_with_deps); Alg7: = lname proġett, fname
(Mgrs_with_deps njoin impjegat);

“——————————————————————————————————————————————————

Tautoko translation: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
Pānga Algebra
He aha te he Algebra?
taurangi (al-je-bre) noun
Pāngarau
1 He whānui o te tātai i roto i nei tohu, te tikanga pukapuka o te tātai reta, tohu tau ranei te mau melo o te huinga motuhake o tau, me te e pā ana e ngā mahi e mau hoki tau katoa i roto i te huinga.
2 He whakaturia tahi ki ngā mahi tautuhi i roto i te huinga e rongo ture whakaritea.
3 Kupu whakaurua e te mathematician Arab al-Khwarizmi (circa 900 AD), ka kawea ki runga ki Latin e Robert o Chester i 1145.

[Middle English, wheua-tautuhinga me Italian, taurangi, e rua i Medieval Latin, i Arabic al-jabr, te (pūtaiao o) te faatahoêraa faahou:. Al, te + jabr, reunification, wheua-tautuhinga]
He noa reo taurangi i roto i te rorohiko: taurangi Boolean hoki kuwaha arorau; me te taurangi Pānga mo DML pātengi raraunga.
kai Basic o te taurangi e te huinga (i.e. operand) me ngā mahi (i.e. ngā) e mahi i runga i ngā āhuatanga katoa o te huinga.
āhuatanga operator (hei tauira, whakaaro he tau tōpū whakaturia me te mahi tua) ngā: he āpiti i runga i te tau tōpu Addition mai 3 + 4 = 4 + 3 (me (3,4) == me (4,3)); ka mea Addition te ki hei herekore i runga i nga tau tōpu mai 3 + (4 + 5) = (3 + 4) + 5 (me (3, me (4,5)) == me (me (3,4), 5 ))).
Ngā āhuatanga o te rel. Algebra
manipulates te reira i whanaunga katoa i roto i te
huinga semantically unambigous o ngā mahi (Ed
Codd 1970).

Ko te te pā huinga o te taurangi tūhonohono
toronga (tuples, rarangi) me te ngā i
rānei he take theoretic whakaturia whanaunga ranei hāngai
paingia.

He faaiteraa taurangi tūhonohono kua rite kōkuhunga tetahi
(Te tohutūmahi), ranei e rua (ā-rua), whanaunga, me te tahi mau taime i te
huru tīpakonga.
Ahakoa putanga o te faaiteraa ko te whanaunga kotahi.

Ētahi āhuatanga:

mahi ngā o te taurangi ki katoa o tuples a te pā;

te taurangi e te tātai ngā
tauira;

Otiia e kore e he te reira “”oti Turing””, ka taea e tetahi te tuhituhi i te
hōtaka Pascal e manipulates whanaunga hoki
i te mea kahore he ōrite taurangi.

kua ki te kia te aromātai ki te huru tīpakonga
ia tuple takitahi;

te putanga o te mahi taurangi ko te
tāuru manakohia ki te taurangi nunu’a
faaiteraa – tenei parau te huaina
hanganga.

Ngā: Union (rua)
He aha e pā ana ki te patopato o te faaiteraa taurangi tūhonohono, me ona whanaunga hua?
“”UNION”” Hototahi (uc) o RUA RELATIONS hoki te faaiteraa rua, nga whanaunga whai wāhi (tauwhakaarotau – R1 me R2) e rua me whai i te herenga hanganga e whai ake nei mo ki te whakapuaki hei momo tika: 1) whanaunga e rua i te tohu kotahi ( arā, n); & 2) mo ia huanga (1 <= <i = n), te rohe (R1.Attr_i) = rohe (R2.Attr_i). TE RARAUNGA Tuhinga o AN o Expression IF ko nga whanaunga e rua i roto i u.c. Na he noho i kōwhiria ki te hei e o te tauwhakaarotau tuatahi te aronuinga pā o te hua. ELSE … (tauwhakaarotau motuhake – hei tauira hua operator) Semantics: te whanaunga hua e te tuple katoa reira i roto i te tuatahi rānei, te tuarua tauwhakaarotau e rua ranei.
patopato:
Te momo o te aronuinga pā hua ko e o te tauwhakaarotau tuatahi ki te he whanaunga operand rua i roto i te u.c.
momotuhi:
R1 U R2 UNION (R1, R2)
āpiti herekore YES YES
Ngā: Difference (rua)
Semantics:
Te whanaunga hua ngā nga tuples katoa o te tauwhakaarotau tuatahi e kore e e hakari i te rua o nga tauwhakaarotau.
patopato:
Te momo o te aronuinga pā hua ko e o te tauwhakaarotau tuatahi ki te he whanaunga operand rua i roto i te u.c.
momotuhi:
R1 – R2 DIFF (R1, R2)
KORE āpiti KORE herekore
Ngā: Tīpakonga (tohutūmahi)
Semantics:
Waihanga i tētahi whanaunga hou mā te tiki i te tauwhakaarotau tuples katoa e makona nga tikanga kōwhiringa.
tuples:
he ōrite ki te aronuinga o te tauwhakaarotau te momo o te aronuinga pā hua.
He huru whiriwhiri e te puka e whai ake:
Huanga whakaingoa Tauritenga op. uara tamau Huanga ingoa Tauritenga op ranei. Huanga ingoa
taea te ngā tētahi raupapa o ngā āhuatanga Tīpakonga rite i roto i te condition1 tīpako ME tīpako condition2 ranei tīpako condition1 RĀNEI tīpako condition2
Ētahi ngā rite angamaheni mō rohe whakahau ngā>, <, ==,! =, Etc
momotuhi:
(Tīpako huru) R1 Tīpakohia (R1, huru kōwhiringa)
Tuhipoka:
Ko te hua ko te huinga o te tauwhakaarotau!

āpiti herekore YES YES
Pānga Algebra: Kaiwhakahaere: Hua (rua)
Semantics:
Waihanga i tētahi whanaunga hou mā te mahi i te hua tuaka
o nga tauwhakaarotau e rua.
(Ki te nga cardinalities o R1 me R2 e 60000 me 500
aua, cardinality o ratou hua ko 60000 * 500 =
3,000,000!)

patopato:
Ka taea e whai i tetahi aronuinga pā te tauwhakaarotau. Ko ōrite ki te concatenation o aronuinga pā o te tauwhakaarotau te aronuinga whanaunga hua.
momotuhi:
Ko te tino computationally utu tenei
mahi!
Ano hoki, E kore te mea te nuinga o whai kiko ana te toronga hua !!

āpiti Ae
herekore Ae

Ngā: Matapae (tohutūmahi)
Semantics:
Waihanga i tētahi whanaunga hou mā te tango i i te tauwhakaarotau mau huru katoa (me reira ratou uara) e kore e i whakahuatia i roto i te faaiteraa ngä.
patopato:
he ōrite ki te aronuinga o te tauwhakaarotau engari hāunga huanga kihai whakahuatia i roto i te rārangi huanga te momo o te aronuinga hua.
momotuhi:
(Attr … x1, …, attr_xn) KAUPAPA (R1, attr_x1, …, attr_xn)
Tuhipoka:
E kakato tangohia uara tārite!
Notes atu:
I roto i te faaiteraa taurangi ki te string o kaupapa i tatou e rua nga mea e haere i runga i – hanganga me te re-te whakawhānui !! Ki te etahi whawhe taurangi taea tetahi ikuna’i enei here.
āpiti (i roto i te whānui) No herekore (i roto i te whānui) No
huinga iti o ngā
Ka taea te whakaaturia te reira e te huinga o nga ngā aroaro (āta te tīpako, kaupapa, uniana, rerekētanga, me te hua) e tika, oti ranei, ki te whakaahua i te tahi atu ngā (hei tauira uru, pūtahitanga aha).
Te whakamahi motuhake o ngā i te huinga oti kia tai’oraa i te tahi mau kīanga taurangi tūturu tino pakeke!
Hei tauira, te operator whakawhitinga tenei puka:
Pūtahitanga (R1, R2)
he ōrite ki DIFF (UNION (R1, R2), UNION (DIFF (R1, R2), (DIFF (R2, R1)))
ranei ōrite ki
DIFF (R1, DIFF (R1, R2))
Aha te taurangi?
he reo ohie
whakaturia i te uru wa
tangi semantically
faaite te taua pātai e whakaahua ana i tetahi atu reo tauira e hāngai ana tūhonohono
(I.e. te tuanaki tūhonohono parau)
ngā
optimisable
Uiui (kotahi) â € “”Kamupene
Tiki ka whakaingoa me te wāhitau o te kaimahi katoa e mahi mo te â tari € ~Researchâ € ™.
research_dept: = tīpako dname = â € ™ Researcgâ € ™ (tari);
research_dept_emps: = tīpako dnumber = dno (kaimahi hua research_dept);
algl1: = fname kaupapa, lname, wāhitau (research_dept_emps);
Uiui (e rua) â € “”Kamupene
Hoki nga kaupapa kei roto i te â € ~Staffordâ € ™, whakarārangi te tau Project, te tau tari whakahaere, ka te managerâ tari € ™ s whakamutunga ingoa, wāhitau, ka rā whānau.
Stafford-_projs: = tīpako plocation = â € ™ Staffordâ € ™ (kaupapa);
Contr_dept: = tīpako nepravosti-dnumber (Stafford_projs tari hua);
proj_dept_mgr: = tīpako mgrssn = SSN (kaimahi hua contr_dept);
alg2: = kaupapa pnumber, nepravosti, lname, wāhitau, bdate (proj_dept_mgr);
Uiui (toru) â € “”Kamupene
Kimihia te ingoa o ngā kaimahi e mahi i runga i nga Kaupapa katoa e whakahaeretia ana e maha tari 5.
Dept5_projs (pno): = kaupapa pnumber (tīpako nepravosti = 5 (kaupapa)); emp_proj (SSN, pno): = kaupapa essn, pno (works_on); emp_proj_ssns: = SSN kaupapa (emp_proj); % Taea katoa o ngā kaimahi e mahi ana i runga i ngā kaupapa dept5. Poss_emps_dept5: = (dept5_projs emp_proj_ssns hua); /% kaimahi e mau horo’araa e € ™ s mahi i runga i ngā kaupapa dept5 katoa .. emps_not_dept5: = kaupapa SSN (poss_emps_dept5 rerekētanga emp_proj); result_emp_ssns: = EMP ssns proj rerekētanga emps_not_dept5; alg3: = kaupapa lname, fname (result_emp_ssns njoin kaimahi);
Uiui (wha) â € “”Kamupene
Hanga he rārangi o tau kaupapa mō kaupapa e faaohipa i te kaimahi nei whakamutunga ingoa ko â € ~Smithâ € ™, ranei rite te kaimahi ano he kaiwhakahaere o te Tari e whakahaere te kaupapa ranei.
Parakimete (essn): = kaupapa SSN (tīpako lname = â € ~Smithâ € ™ (kaimahi));
smith_worker_projs: = kaupapa pno (works_on njoin parakimete);
mgrs: = kaupapa lname, dnumber (tīpako SSN = mgrssn (kaimahi tari hua));
smith_mgrs: = selecy lname = â € ™ Smitha € ™ (mgrs);
smith_managed_depts (nepravosti): = kaupapa dnumber (smith_mgrs);
smith_mgr_projs (pno): = kaupapa pmumber (smith_managed_depts njoin kaupapa);
alg3: = smith_worker_projs smith_mgr_projs uniana;
Uiui (e rima) â € “”Kamupene
A tabula i te ingoa o ngā kaimahi katoa ki e rua, neke atu rānei herenga.
% Hanga rua kape o ngā kaimahi ki te pararau.
Empdep1 (essn, depname1): = kaupapa essn, dependent_name (ti’aturi);
empdep2 (essn2, depname2): = empdep1;
& Kaimahi ki neke atu i te kotahi ti’aturi.
Emps_gtone_dep (SSN): = essn1 kaupapa (tīpako (essn = essn2) me (depname1 <> depname2) (empdep1 empdep2 hua));
alg5: = lname kaupapa, fname (kaimahi njoin emps) gtone_dep);
Uiui (ono) – Kamupene
Tiki i te ingoa o ngā kaimahi e whai kahore herenga.
All_emps: = kaupapa SSN (kaimahi); Emps_with_deps (SSN): = essn kaupapa (ti’aturi); Emps_without_deps: = (all_emps
emps_with_deps Difference); Alg6: = lname kaupapa, fname
(Emps_without_deps njoin kaimahi);
Uiui (e whitu) â € “”Kamupene
A tabula i te ingoa o te kaiwhakahaere e whai i te iti rawa Mea ti’aturi.
Mgrssn (SSN): = mgrssn kaupapa (tari); Emps_with_deps (SSN): = essn kaupapa (ti’aturi); Mgrs_with_deps: = (mgrssn pūtahitanga emps_with_deps); Alg7: = lname kaupapa, fname
(Mgrs_with_deps njoin kaimahi);

“——————————————————————————————————————————————————

समर्थन अनुवाद: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
संबंध बीजगणित
एक बीजगणित काय आहे?
बीजगणित (Al-je-BRE) नाम
गणित
अंकगणित 1 होत चिन्हे, वर्णमाला सहसा अक्षरे, संख्या किंवा संख्या एक विशिष्ट संच सदस्य प्रतिनिधित्व आणि सेटमध्ये सर्व संख्या दाबून ठेवा ऑपरेशन करून संबंधित ज्या.
2 विशिष्ट नियमांचे पालन की संच ठरवणे ऑपरेशन एकत्र केले.
3 शब्द अरब गणिती अल-Khwarizmi (सुमारे 900 AD) सुरु व 1145 मध्ये चेस्टर रॉबर्ट करून लॅटिनमध्ये आणले.

[मिडल इंग्रजी, अस्थि सेटिंग आणि इटालियन, बीजगणित, मध्यकालीन लॅटिन, पासून दोन्ही अरबी अल-jabr (विज्ञान) reuniting. अल + jabr, reunification, हाड-सेटिंग]
बीजगणितातील भाषा संगणकीय सामान्य आहेत: तर्कशास्त्र दारे बुलियन बीजगणित; डेटाबेस DML आणि संबंध बीजगणित.
एक बीजगणित मूलभूत साहित्य संच (उदा संख्या) आणि ऑपरेशन (दुसऱ्या शब्दात सांगायचे म्हणजे ऑपरेटर) संच सर्व घटक कार्य आहेत.
ऑपरेटर गुणधर्म (उदाहरणार्थ, एक पूर्णांक सेट आणि व्यतिरिक्त ऑपरेशन विचार) यांचा समावेश आहे: बेरीज संख्या प्रती commutative आहे 3 + 4 = 4 + 3 (अधिक (3,4) == अधिक (4,3)); आणि बेरीज पासून संख्या प्रती associative असल्याचे म्हटले आहे 3 + (4 + 5) = (3 + 4) + 5 (अधिक (3, अधिक (4,5)) == अधिक (अधिक (3,4), 5 ))).
शेवटपर्यंत वैशिष्ट्ये. बीजगणित
तो एक संपूर्ण संबंध manipulates
ऑपरेशन semantically unambigous संच (एड
Codd 1970).

संबंध बीजगणित च्या संच संबंध असतात
विस्तार (tuples, ओळी), आणि ऑपरेटर आहे
एकतर एक सेट तत्वावर आधारलेला कृतीवर मूळ किंवा संबंध देणारं
मर्जी.

एक संबंध बीजगणितातील अभिव्यक्ती इनपुट म्हणून आहे
(एकच घटक असलेला), किंवा दोन (बायनरी), संबंध आणि कधी कधी
निवड अवस्था आहे.
तर एक अभिव्यक्ती उत्पादन एकाच संबंध आहे.

इतर वैशिष्ट्ये

बीजगणित च्या ऑपरेटर संबंध च्या tuples सर्व काम;

बीजगणित एक पद्धत संगणकीय आहे
मॉडेल;

पण तो “”ट्युरिंग पूर्ण”” नाही, एक लिहू शकता एक
साठी संबंध manipulates की पास्कल कार्यक्रम
जे नाही बीजगणितातील समतुल्य आहे.

निवड अट विरुद्ध मूल्यांकन केले आहे
प्रत्येक स्वतंत्रपणे tuple;

एक एक बीजगणितातील ऑपरेशन उत्पादन आहे
एक परिणाम बीजगणितातील मान्य इनपुट
अभिव्यक्ती – असे म्हणतात अभिव्यक्ती
रचना.

ऑपरेटर: युनियन (बायनरी)
काय संबंध बीजगणितातील अभिव्यक्ती टाइपिंग आणि त्याच्या परिणामी संबंध काय?
– “”युनियन”” सुसंगतता दोन नाती (सिनसिनाटी विद्यापीठ यांनी) एक बायनरी अभिव्यक्ती, दोन सहभागी संबंध (operands R1 आणि R2) अभिव्यक्ती योग्य प्रकार असल्याचे खालील स्ट्रक्चरल अडचणी असणे आवश्यक आहे: 1) दोन्ही संबंध समान पदवी आहे ( म्हणजेच n); आणि 2) प्रत्येक गुणधर्म (1 <= मी <= n), डोमेन (R1.Attr_i) = डोमेन (R2.Attr_i). एक अभिव्यक्ती च्या डेटा प्रकार दोन संबंध यु.सी. आहेत जर मग परिणाम संबंध स्किमा अनियंत्रित निवडलेला पहिल्या संख्या आहे असे आहे. अन्य … (संख्या विशिष्ट – उदा उत्पादन ऑपरेटर) सिमेंटिक: परिणाम संबंध सर्व tuple एकतर पहिला, दुसरा किंवा दोन्ही operands उपस्थित आहे.
टायपिंग:
परिणामी संबंध स्किमा प्रकार ते प्रथम संख्या च्या संख्या संबंध दोन्ही यु.सी. आहेत तर आहे
नोटेशन:
R1 यू R2 युनियन (R1, R2)
commutative होय associative होय
ऑपरेटर: फरक (बायनरी)
रचना:
परिणामी संबंध दुसऱ्या संख्या उपस्थित नाहीत की प्रथम संख्या सर्व tuples समावेश आहे.
टायपिंग:
परिणामी संबंध स्किमा प्रकार ते प्रथम संख्या च्या संख्या संबंध दोन्ही यु.सी. आहेत तर आहे
नोटेशन:
R1 – R2 DIFF (R1, R2)
commutative नाही associative नाही
ऑपरेटर: निवड (एकच घटक असलेला)
रचना:
निवड अटी समाधान सर्व tuples संख्या पासून काढण्यासाठी एक नवीन संबंध तयार करा.
Tuples:
परिणामी संबंध स्किमा प्रकार संख्या च्या स्कीमा समतुल्य आहे.
निवड अट खालील फॉर्म आहे:
नाव तुलना ऑप गुणधर्म. सतत मूल्य किंवा विशेषता नाव तुलना ऑप. विशेषता नाव
निवड अटी मालिका अट 1 निवडा आणि अट 2 निवडा किंवा अट 1 निवडा किंवा अट 2 निवडा म्हणून एकत्र केली जाऊ शकते
आदेश दिले डोमेनसाठी काही ठराविक तुलना ऑपरेटर समावेश>, <, ==! =, इ
नोटेशन:
(अट निवडा) R1 निवडा (R1, निवड अट)
टीप:
परिणामी संख्या एक उपसंच आहे!

commutative होय associative होय
संबंध बीजगणित: ऑपरेटर: उत्पादन (बायनरी)
रचना:
एक कार्टेशियन उत्पादन चालवून एक नवीन संबंध तयार करा
दोन operands आहे.
(R1 आणि R2 या cardinalities 60000 आणि 500 आहेत, तर
अनुक्रमे, त्यांच्या उत्पादनाच्या cardinality 60000 * 500 = आहे
3,000,000!)

टायपिंग:
operands कोणत्याही संबंध योजना असू शकतात. परिणामी संबंध स्किमा संख्या च्या संबंध स्किमा क्रमबंध समतुल्य आहे.
नोटेशन:
हा एकदम करण्याचे महाग आहे
ऑपरेशन!
तसेच, परिणाम विस्तार सहसा अर्थपूर्ण नाही आहे !!

commutative होय
associative होय

ऑपरेटर: प्रोजेक्शन (एकच घटक असलेला)
रचना:
संख्या पासून दूर करून नवीन संबंध तयार करा सर्व गुणधर्म (आणि यामुळे त्यांच्या मूल्ये) अंदाज व्यक्त नमूद आहे.
टायपिंग:
परिणामी स्किमा प्रकार संख्या च्या स्किमा पण गुणधर्म यादी नमूद गुणधर्म सोडून समतुल्य आहे.
नोटेशन:
(ATTR … X1, … attr_xn) प्रकल्प (R1, attr_x1, … attr_xn)
टीप:
डुप्लिकेट मूल्ये पूर्णपणे काढले आहेत!
पुढील टिपा:
प्रकल्प एक स्ट्रिंग एक बीजगणितातील अभिव्यक्ती मध्ये आम्ही दोन गोष्टी वर जात आहे – पुनर्रचना आणि पुन्हा-विस्तार !! काही बीजगणितातील manipulations एक या निर्बंध मात करू शकता.
(सामान्य) नाही associative (सर्वसाधारणपणे) नाही commutative
ऑपरेटर किमान संच
सादर ऑपरेटर (विशेषतः निवडा, प्रकल्प, युनियन, फरक आणि उत्पादन) एक उपसंच पुरेसा नाही, किंवा आहेत की, इतर ऑपरेटर वर्णन (उदाहरणार्थ सामील, छेदनबिंदू इत्यादी) दर्शविले जाऊ शकते.
संपूर्ण संच पासून ऑपरेटर विशेष वापर काही नैसर्गिक बीजगणितातील सूत्रांचे वाचन करा अत्यंत कठीण!
उदाहरणार्थ, छेदनबिंदू ऑपरेटर हा फॉर्म आहे:
छेदनबिंदू (R1, R2)
DIFF (युनियन (R1, R2), युनियन (फरक (R1, R2), (DIFF (R2, R1))) समतुल्य आहे
किंवा समतुल्य
DIFF (R1, DIFF (R1, R2))
एक बीजगणित का?
एक साधी भाषा
एक वेळ प्रवेश सेट
semantically आवाज
आणखी एक संबंध मॉडेल आधारित भाषा वर्णन त्याच क्वेरी व्यक्त
(उदा घोषणात्मक संबंध खडा)
प्रक्रियात्मक
optimisable
क्वेरी (एक) एक € “”कंपनी
नंतर नाव आणि एक € ~Researchâ € ™ विभागासाठी काम सर्व कर्मचारी पत्ता पुनर्प्राप्त.
research_dept: = निवडा dname = € ™ Researcgâ € ™ (विभाग) एक;
research_dept_emps: = dnumber निवडा = dno (research_dept उत्पादन कर्मचारी);
algl1: = प्रकल्प: fname, lname, पत्ता (research_dept_emps);
क्वेरी (दोन) एक € “”कंपनी
एक € ~Staffordâ € ™ मध्ये स्थित प्रत्येक प्रकल्पासाठी प्रकल्प संख्या नियंत्रण विभाग क्रमांक आणि विभाग managerâ € ™ च्या गेल्या नाव, पत्ता, आणि जन्मतारीख यादी.
स्टॅफोर्ड-_projs: = निवडा plocation = एक € ™ Staffordâ € ™ (प्रकल्प);
Contr_dept: = निवडा dnum-dnumber (Stafford_projs उत्पादन विभाग);
proj_dept_mgr: = mgrssn निवडा = SSN (contr_dept उत्पादन कर्मचारी);
alg2: = प्रकल्प pnumber, dnum, lname, पत्ता, bdate (proj_dept_mgr);
क्वेरी (तीन) एक € “”कंपनी
विभाग क्रमांक 5 नियंत्रित सर्व प्रकल्प कार्य करणार्या कर्मचारी नावे शोधा.
Dept5_projs (pno): = प्रकल्प pnumber (dnum निवडा = 5 (प्रकल्प)); emp_proj (SSN, pno): = प्रकल्प essn, pno (works_on); emp_proj_ssns: = प्रकल्प SSN (emp_proj); % Dept5 प्रकल्पांवर काम करीत कर्मचारी सर्व शक्यता. ; Poss_emps_dept5 सर्व dept5 प्रकल्प .. emps_not_dept5 वर € ™ च्या काम Dona की /% कर्मचारी = (उत्पादन emp_proj_ssns dept5_projs): = प्रकल्प SSN (poss_emps_dept5 फरक emp_proj); result_emp_ssns: = emp प्रक्षेपित ssns फरक emps_not_dept5; alg3: = प्रकल्प lname, fname: (result_emp_ssns कर्मचारी njoin);
क्वेरी (चार) â € “”कंपनी
एक कार्यकर्ता म्हणून किंवा प्रकल्प नियंत्रीत करते विभागाचे व्यवस्थापक म्हणून एकतर शेवटला नाव € ~Smithâ € ™ एक आहे एक कर्मचारी सामील की प्रकल्पांसाठी प्रकल्प क्रमांक एक यादी करा.
त्याचे महत्वाचे अधिकारी ह्यांना (essn): = प्रकल्प SSN (lname निवडा = एक € ~Smithâ € ™ (कर्मचारी));
smith_worker_projs: = प्रकल्प pno (works_on njoin कामगार);
mgrs: = प्रकल्प lname, dnumber (निवडा SSN = mgrssn (कर्मचारी उत्पादन विभाग));
smith_mgrs: = selecy lname = € एक ™ Smithâ € ™ (mgrs);
smith_managed_depts (dnum): = प्रकल्प dnumber (smith_mgrs);
smith_mgr_projs (pno): = प्रकल्प pmumber (प्रकल्प njoin smith_managed_depts);
alg3: = smith_worker_projs केंद्रीय smith_mgr_projs;
क्वेरी (पाच) एक € “”कंपनी
दोन किंवा अधिक अवलंबित सर्व कर्मचारी नावे सांगा.
% अवलंबून कर्मचारी दोन प्रती करा.
Empdep1 (essn, depname1): = प्रकल्प essn, dependent_name (अवलंबून आहे);
empdep2 (essn2, depname2): = empdep1;
एक अवलंबून पेक्षा जास्त आणि कर्मचारी.
Emps_gtone_dep (SSN): = प्रकल्प essn1 (निवडा (essn = essn2) आणि (depname1 <> depname2) (empdep1 उत्पादन empdep2));
alg5: = प्रकल्प lname, fname: (emps njoin कर्मचारी) gtone_dep);
क्वेरी (सहा) – कंपनी
नाही अवलंबित आहे कर्मचाऱ्यांना नावे पुनर्प्राप्त.
All_emps: = प्रकल्प SSN (कर्मचारी); Emps_with_deps (SSN): = प्रकल्प essn (अवलंबून आहे); Emps_without_deps: = (all_emps
फरक emps_with_deps); Alg6: = प्रकल्प lname, fname:
(Emps_without_deps कर्मचारी njoin);
क्वेरी (सात) एक € “”कंपनी
किमान एक अवलंबून आहे व्यवस्थापकांना नावे सांगा.
Mgrssn (SSN): = प्रकल्प mgrssn (विभाग); Emps_with_deps (SSN): = प्रकल्प essn (अवलंबून आहे); Mgrs_with_deps: = (mgrssn emps_with_deps कापणे); Alg7: = प्रकल्प lname, fname:
(Mgrs_with_deps कर्मचारी njoin);

“——————————————————————————————————————————————————

Дэмжих орчуулга: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
харилцааны Алгебрийн
нь Алгебрийн гэж юу вэ?
алгебр (эл-JE-bre) нэр үг
Математик
арифметикийн 1 нь нийтэд хэрэглэх нь тэмдэг, цагаан толгойн ихэвчлэн захидал, тоо эсвэл тоо тодорхой багц гишүүдийг төлөөлж, олонлогийн бүх тоо нь барих үйл ажиллагаанаас хамааралтай байдаг.
2. Тодорхой хуулийг дагаж мөрдөн багц-д заасан үйл ажиллагаа хамт тавьсан.
3 Үг Арабын математикч Аль-Khwarizmi (орчим 900 AD) нь танилцуулж, 1145 онд Chester-ийн Роберт гэхэд латин болгон дээр авчирсан.

[Ойрхи Англи, яс тогтоох, Италийн, алгебр, Дундад зууны латин, авсан нь аль аль нь Монгол хэл Араб хэл Аль-jabr (шинжлэх ухаан) хоёр дахин нэгдэхгүйгээр:. Al, + jabr, нэгтгэх, яс, тохиргоог]
Алгебрийн хэл компьютерийн түгээмэл байна: логик дааман хаалганууд нь Бүүлийн алгебр, мэдээллийн сан DML болон Relational алгебр.
нь алгебр үндсэн найрлага багц (жишээ Гишүүн) болон үйл ажиллагаа (жишээ операторууд) олонлогийн бүх элемент дээр ажиллах юм.
Оператор шинж чанар (жишээ нь, нэгэн бүхэл тоо тогтоож, нэмэлт үйл ажиллагааг авч үзэх) Үүнд: Нэмэлт бүхэл гаруй коммутатив оноос хойш 3 + 4 = 4 + 3 (нэмэх (3,4) == нэмэх (4,3)); болон Нэмэлт оноос хойш бүхэл гаруй ассоциатив гэж хэлсэн 3 + (4 + 5) = (3 + 4) + 5 (нэмэх нь (3, дээр нь (4,5)) == нэмэх (нэмэх (3,4), 5 ))).
REL шинж чанар. Алгебрийн
Энэ нь дамжуулан бүх харилцааг өөрчилдөг
үйл ажиллагааны бүдүүвчлэх unambigous багц нь (Ed
Codd 1970).

хамааралт алгебр-ийн багц харилцааны-ын байдаг
өргөтгөл (tuples, мөр) болон операторууд байна
аль нь тогтоосон онол гарал, харилцаа чиглэсэн
хайр.

Харьцуулах алгебрийн илэрхийлэл оролт нэг байна
(Unary), эсвэл хоёр (хоёртын), харилцаа, заримдаа
сонгон шалгаруулах нөхцөл байдал.
илэрхийлэл-ийн гаралт нэг хамаатан юм байна.

Бусад шинж чанар:

Алгебрийн-ийн операторууд харилцааны-ын tuples бүх талаар ажиллах;

алгебр нь процедурын тооцоолох байна
загвар;

Гэхдээ энэ нь “”түлшээр бүрэн”” биш, нэг нь бичиж болно
нь харилцааг өөрчилдөг Pascal хөтөлбөр
нь ямар ч алгебрийн тэнцүү байдаг.

нь сонгох нөхцөл эсрэг үнэлж байна
тус бүр бие даасан Тэрхүү багцын зураглал;

нэг нь алгебрийн үйл ажиллагааны үр дүн юм
нь улмаар алгебрийн хүлээн зөвшөөрсөн оруулах
илэрхийлэл – Энэ илэрхийлэл гэж нэрлэдэг
бүтэц.

Операторууд: Холбоо (хоёртын)
нь хамааралт алгебрийн үзэл бодлоо илэрхийлэх эрх тушаалтай, түүний үр дүнд холбоотой юу?
– “”UNION”” COMPATIBILITY ХОЁРДУГААР харилцаа (К.И.С) хоёртын үзэл бодлоо чөлөөтэй илэрхийлэх, хоёр оролцогч харилцаа (operands R1 ба R2) илэрхийлэл төрөл зөв байх нь дараах бүтцийн саад байх ёстой: 1) аль аль нь харилцааны нэг зэрэгтэй байх ( өөрөөр хэлбэл N); & 2) шинж тус бүр (1 <= би <= N), домэйн нэр (R1.Attr_i) = домэйныг (R2.Attr_i). AN илэрхийлэх-ийн өгөгдлийн төрөл нь хоёр харилцаа u.c. байгаа бол ТЭР нь үр дүн нь хамаатан схем анхны Гишүүн тэр байх нь дур мэдэн сонгосон байна. Бас … (Гишүүн тодорхой – жишээ нь: бүтээгдэхүүний оператор) Семантик: улбаалсан харилцаа, эхний хоёр дахь, эсвэл аль аль нь operands аль алинд нь өнөөгийн бүх Тэрхүү багцын зураглал юм.
Бичиж байна:
үр дүнд харилцаа схемийн төрөл эхний Гишүүн хоёр Гишүүн харилцаа u.c. байгаа бол байгаа юм
тэмдэглэгээ:
R1 U R2 UNION (R1, R2)
коммутатив YES ассоциатив YES
Операторууд: ялгаа (хоёртын)
семантик:
Үр дүнгийн харилцаа хоёр дахь Гишүүн д байхгүй хамгийн эхний Гишүүн бүх tuples орно.
Бичиж байна:
үр дүнд харилцаа схемийн төрөл эхний Гишүүн хоёр Гишүүн харилцаа u.c. байгаа бол байгаа юм
тэмдэглэгээ:
R1 – R2 ялгаа (R1, R2)
коммутатив NO NO ассоциатив
Операторууд: Сонгох (unary)
семантик:
Гишүүн нь сонгон шалгаруулах нөхцлийг хангах бүх tuples олборлох хамт шинэ харилцааг бий болгох.
Tuples:
үр дүнд харилцаа схемийн төрөл Гишүүн ийн схемийн тэнцүү байна.
A сонгон шалгаруулах нөхцөл нь дараах хэлбэртэй байна:
Харьцуулах ОР нэр үздэг. Тогтмол үнэ цэнэ буюу нэр харьцуулалт ОР Attribute. атрибутын нэр
Сонгох нөхцөл цуврал condition1 сонгож, condition2-г сонго эсвэл condition1 сонгоод OR condition2 сонгоод шиг нэгтгэж болно
захиалсан салбарт зарим нийтлэг харьцуулах оператор>, <, ==! = гэх мэт орно
тэмдэглэгээ:
(Нөхцөл байдал сонгоно) R1 SELECT (R1, сонгон шалгаруулах нөхцөл)
Тайлбар:
Үр дүнгийн Гишүүн нь дэд юм!

коммутатив YES ассоциатив YES
Харилцааны Алгебрийн: Оператор: Бүтээгдэхүүний (хоёртын)
семантик:
нь Декартын бүтээгдэхүүн гүйцэтгэх нь шинэ харилцааг бий болгох
Хоёр operands байна.
(R1 ба R2 нь cardinalities 60000, 500 байгаа бол
тус тус өөрсдийн бүтээгдэхүүний cardinality 60000 * 500 = юм
3,000,000!)

Бичиж байна:
operands ямар ч харилцаа схемийг байж болно. Үр дүнгийн харилцаа схем Гишүүн ын харилцаа схемийн нийлбэрийг олбол тэнцүү байна.
тэмдэглэгээ:
Энэ бол маш тооцооллын үнэтэй байна
үйл ажиллагаа!
Мөн үр дүнд өргөтгөл нь ихэвчлэн утга учиртай биш юм !!

коммутатив Тийм
ассоциатив Тийм

Операторууд: Төсөөлөл (unary)
семантик:
Гишүүн нь арилгах замаар шинэ харилцааг бий болгох бүх шинж чанарууд (, улмаар тэдгээрийн утга) төсөөлөл нь үзэл бодлоо илэрхийлэх хэсэгт дурдсан байна.
Бичиж байна:
Үр дүнгийн схемийн төрөл Гишүүн ын схемийн ч шинж жагсаалтад дурдсан байгаа шинж чанаруудыг оруулахгүй тэнцүү байна.
тэмдэглэгээ:
(Attr … x1, …, attr_xn) PROJECT (R1, attr_x1, …, attr_xn)
Тайлбар:
Duplicate утга далд устгаж байна!
Цаашид Тайлбар:
төсөл нь мөр бүхий алгебрийн илэрхийлэх бид хоёр зүйл болж байна – бүтцийн өөрчлөлт, дахин сунгах !! Тодорхой алгебрийн залалт, нэг нь эдгээр хязгаарлалтуудыг давж гарах болно.
(Ерөнхий) Үгүй ассоциатив (ерөнхий) Үгүй коммутатив
операторуудын Хамгийн бага багц
Энэ нь танилцуулсан оператор (ялангуяа сонгоод, төсөл, холбоо, ялгаа, бүтээгдэхүүний) -ийн дэд бусад операторууд (уулзвар гэх мэт жишээ нь нэгдэх) тайлбарлахад хангалттай, эсхүл бүрэн гүйцэд гэдгийг харуулсан болно.
иж бүрэн багц нь оператор онцгой хэрэглээ маш хатуу ширүүн нь зарим байгалийн алгебрийн илэрхийлэл унших болгодог!
Жишээ нь, огтлолцлын гүйцэтгэгч энэ хэлбэртэй байна:
Уулзварт (R1, R2)
Өөрчлөлтүүдийг (холбоо (R1, R2), Холбоо (ялгаа (R1, R2), (ялгаа (R2, R1))) тэнцэх юм
буюу тэнцүү
Өөрчлөлтүүдийг (R1, ялгаа (R1, R2))
Яагаад алгебр?
энгийн хэл
цаг хандалт тогтоосон
бүдүүвчлэх дуу
Өөр харилцааны загвар дээр суурилсан хэл тайлбарлах тэр асуулга илэрхийлж байна
(Жишээ нь тунхаг харилцааны тооцооллоор)
үйл ажиллагааны
optimisable
Хайлтын (нэг) нь € “”Компани
Дараа нь нэр, € ~Researchâ € ™ хэлтэст ажилладаг бүх ажилчдын хаяг авахын.
research_dept: = Сонголт dname = € ™ Researcgâ € ™ (хэлтэс) нь;
research_dept_emps: = dnumber сонгоод = dno (research_dept бүтээгдэхүүн ажилтан);
algl1: = төсөл fname, lname, хаяг (research_dept_emps);
Хайлтын (хоёр) â € “”Компани
â € ~Staffordâ € ™ байрлах төсөл бүр нь Төслийн дугаар, хяналтын хэлтсийн дугаар, хэлтэс managerâ € ™ -ийн хамгийн сүүлд нэр, хаяг, төрсөн огноо жагсаан бич.
Stafford-_projs: = Сонголт plocation = â € ™ Staffordâ € ™ (төсөл);
Contr_dept: = сонгоод dnum-dnumber (Stafford_projs бүтээгдэхүүн хэлтэс);
proj_dept_mgr: = mgrssn сонгоод = НХС төслийн (contr_dept бүтээгдэхүүн ажилтан);
alg2: = төсөл pnumber, dnum, lname, хаяг, bdate (proj_dept_mgr);
Хайлтын (гурван) нь € “”Компани
хэлтэс тоо 5 хяналтанд бүх төслүүдийн ажиллах ажилтны нэрийг ол.
Dept5_projs (pno): = төсөл pnumber (dnum сонгох = 5 (төсөл)); emp_proj (НХС төслийн, pno): = төсөл essn, pno (works_on); emp_proj_ssns: = төсөл НХС төслийн (emp_proj); % Dept5 төсөл дээр ажиллаж байгаа ажилчдын тухай мэдээлэл боломж. ; Poss_emps_dept5 бүх dept5 төсөл .. emps_not_dept5 дээр € ™ -ийн ажил Dona /% албан хаагч = (бүтээгдэхүүний emp_proj_ssns dept5_projs): = төсөл НХС төслийн (poss_emps_dept5 ялгаа emp_proj); result_emp_ssns: = БОМТ-г proj ssns ялгаа emps_not_dept5; alg3: = төсөл lname, fname (result_emp_ssns ажилтан njoin);
Хайлтын (дөрвөн) â € “”Компани
Өнгөрсөн нэр € ~Smithâ € ™ нь юм ажилтныг оролцуулах аль аль нь ажилчин, эсвэл төслийг хянаж хэлтсийн менежер гэх мэт төслүүдийн төсөл дугаарын жагсаалтыг гарга.
Смитийнхнийг (essn): = төсөл НХС төслийн (lname сонгох = â € ~Smithâ € ™ (ажилтан));
smith_worker_projs: = төсөл pno (works_on njoin Смитийнхнийг);
mgrs: = төсөл lname, dnumber (сонгох НХС төслийн = mgrssn (ажилтан бүтээгдэхүүн хэлтэс));
smith_mgrs: = selecy lname = € â ™ Smithâ € ™ (mgrs);
smith_managed_depts (dnum): = төсөл dnumber (smith_mgrs);
smith_mgr_projs (pno): = төсөл pmumber (төсөл njoin smith_managed_depts);
alg3: = smith_worker_projs эвлэлийн smith_mgr_projs;
Хайлтын (таван) нь € “”Компани
хоёр буюу түүнээс дээш тэжээлгэгч бүх ажилчдын нэрсийг жагсаана.
% Тэжээлгэгч нь ажилчдын хоёр хувийг шалгаарай.
Empdep1 (essn, depname1): = төсөл essn, dependent_name (хамааралтай);
empdep2 (essn2, depname2): = empdep1;
& Хамааралтай нэгээс илүү нь ажилтнууд.
Emps_gtone_dep (НХС төслийн): = төсөл essn1 (сонгож (essn = essn2) ба (depname1 <> depname2) (empdep1 бүтээгдэхүүн empdep2));
alg5: = төсөл lname, fname (БОМТ njoin ажилтан) gtone_dep);
Хайлтын (зургаан) – Компани
ямар ч асрамжид байгаа ажилчдын нэрсийг ав.
All_emps: = төсөл НХС төслийн (ажилтан); Emps_with_deps (НХС төслийн): = төсөл essn (хамааралтай); Emps_without_deps: = (all_emps
Ялгаа emps_with_deps); Alg6: = төсөл lname, fname
(Emps_without_deps ажилтан njoin);
Хайлтын (долоон) нь € “”Компани
хамааралтай дор хаяж нэг байх менежерүүдийн нэрсийг жагсаана.
Mgrssn (НХС төслийн): = төсөл mgrssn (хэлтэс); Emps_with_deps (НХС төслийн): = төсөл essn (хамааралтай); Mgrs_with_deps: = (mgrssn emps_with_deps огтлолцоно); Alg7: = төсөл lname, fname
(Mgrs_with_deps ажилтан njoin);

“——————————————————————————————————————————————————

ပံ့ပိုးမှုဘာသာပြန်ချက်: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
relational အက္ခရာသင်္ချာ
တစ်အက္ခရာသင်္ချာကဘာလဲ?
အက္ခရာသင်္ချာ (Al-je-bre) နာမ်
သင်္ချာအတတ်ပညာ
1 သင်္ကေတများ, အအက္ခရာ၏များသောအားဖြင့်စာလုံး, ဂဏန်းတစ်ဦးသတ်သတ်မှတ်မှတ်ထား၏နံပါတ်များသို့မဟုတ်အဖွဲ့ဝင်ကိုကိုယ်စားပြုခြင်းနှင့်အစုအပေါင်းတို့၌နံပါတ်များအဘို့အကိုင်ကစစ်ဆင်ရေးအားဖြင့်ဆက်စပ်လျက်ရှိရာဂဏန်းသင်္ချာ၏မျိုးဆက်တစ်ဆက်။
2 သတ်မှတ်ထားတဲ့ဥပဒေများစကားကိုနားထောငျသောအစုမှာသတ်မှတ်ထားတဲ့စစ်ဆင်ရေးနှင့်အတူထားကြ၏။
3 နှုတ်ကပတ်တော်ကို (900 အေဒီခန့်) အာရပ်သင်္ချာပညာရှင် Al-Khwarizmi အားဖြင့်မိတ်ဆက်နှင့် 1145 အတွက်က Chester ၏ရောဘတ်အားဖြင့်လက်တင်သို့ကူးဆောင်ခဲ့ကြ၏။

[အလယျပိုငျးအင်ျဂလိ, အရိုး-setting ကိုနဲ့အီတလီ, အက္ခရာသင်္ချာ, ပြန်လည်ပေါင်းစည်းအဘိဓါန် Arabic Al-jabr ခြင်း, (သိပ္ပံ) ကနေ, အလယ်ခေတ်လက်တင်မှနှစ်ဦးစလုံး။ အယ်လ်ခြင်း, + jabr, ပြန်လည်ပေါင်းစည်းရေး, အရိုး-setting ကို]
algebra ဘာသာစကားကွန်ပျူတာအတွက်ဘုံနေသောခေါင်းစဉ်: ယုတ္တိဗေဒမြို့တံခါးသည်အ Boolean algebra; နှင့်ဒေတာဘေ့စ DML ဘို့ Relational algebra ။
တစ်အက္ခရာသင်္ချာ၏အခြေခံပါဝင်ပစ္စည်းများခြိနျးအပေါငျးတို့သ element တွေအပေါ်ပြုမူတဲ့အစု (တနည်း operand) နှင့်စစ်ဆင်ရေး (တနည်းအော်ပရေတာ) ဖြစ်ကြသည်။
အော်ပရေတာဂုဏ်သတ္တိများ (ဥပမာအနေနဲ့ integer ဖြစ်တဲ့အတွက်အစုများနှင့်ထို့အပွငျစစ်ဆင်ရေးကိုစဉ်းစား) တို့ပါဝင်သည်: အပိုဆောင်း (ပေါင်း (3,4) == ပေါင်း (4,3)) 3 + 4 = 4 + 3 ကတည်းကကိန်းကျော်အသွားအပြန်ဖြစ်၏ နှင့်အပိုဆောင်း 5 (ပေါင်း (3, ပေါင်း (4,5)) == ပေါင်း (ပေါင်း (3,4), 5 + (+ 4 3) = 3 + (4 + 5) ကတည်းကကိန်းကျော်ဝန်ထမ်းတွေရဲ့ဖြစ်ဟု ))) ။
အ rel ၏ဝိသေသလက္ခဏာများ။ algebra
ဒါဟာတဆင့်တစ်ခုလုံးကိုဆက်ဆံရေးတွက်ချက်
စစ်ဆင်ရေး၏ဝေါဟာရအသုံးအနှုံး unambigous အစုံ (Ed က
Codd 1970) ။

အဆိုပါ relational အက္ခရာသင်္ချာရဲ့စုံကဆက်ဆံရေးဖြစ်ကြ၏
တိုးချဲ့မှု (tuples, တန်းတန်း) နှင့်အော်ပရေတာကြပြီ
အစုတခုသီအိုရီဇာစ်မြစ်သို့မဟုတ် ဆက်စပ်. oriented ဖြစ်စေ
မျက်နှာသာ။

တစ်ဦးက relational algebra စကားရပ်သွင်းအားစုတယောက်အဖြစ်ရှိပါတယ်
(unary), သို့မဟုတ်နှစ်ဦး (ထို binary), ဆက်ဆံရေးနှင့်တစ်ခါတစ်ရံတစ်ဦး
ရွေးချယ်ရေးခွအေနအေ။
တစ်ဦးစကားရပ်ရဲ့ output ကိုတစ်ခုတည်းဆက်ဆံရေးဖြစ်ပါတယ်နေစဉ်။

အခြားလက်ခဏာ:

ထိုဆက်ဆံရေးရဲ့ tuples ၏အားလုံးအပေါ်အက္ခရာသင်္ချာရဲ့အော်ပရေတာအလုပ်;

ထိုအက္ခရာသင်္ချာတစ်ဦးလုပ်ထုံးလုပ်နည်းကွန်ပျူတာရှိပါတယ်
မော်ဒယ်;

သို့သော်ထိုသို့တစ်ဦးကိုရေးနိုင်ပါတယ် “”ကျူရင်ဖြည့်စွက်”” မဟုတ်ပါဘူး
အဘို့ဆက်ဆံရေးတွက်ချက်ကြောင်း Pascal အစီအစဉ်
အရာမျှမ algebra နှင့်ညီမျှလည်းရှိ၏။

တစ်ရွေးချယ်ရေးခွအေနအေဆန့်ကျင်အကဲဖြတ်ခံရဖို့ရှိပါတယ်
အသီးအသီးလွတ်လပ်စွာ tuple;

တစ်ဦး algebra စစ်ဆင်ရေး၏ output အနေနဲ့ဖြစ်ပါတယ်
တစ်နောက်ဆက်တွဲ algebra လက်ခံ input ကို
စကားရပ် – ဤစကားရပ်ဟုခေါ်သည်
ဖွဲ့စည်းမှု။

အော်ပရေတာ: သမဂ္ဂ (binary)
ဘာ relational algebra စကားရပ်နှင့်၎င်း၏ထွက်ပေါ်လာတဲ့ဆက်ဆံရေး၏စာရိုက်ကော?
တစ်ဦး binary စကားရပ်နှစ်ခုဆက်ဆံရေး, နှစ်ဦးပါဝင်ဆက်ဆံရေး (operands – R1 နဲ့ R2) ၏ “”ပြည်ထောင်စု”” compatibility (UC) အမျိုးအစားမှန်ကန်သောဖြစ်ဟူသောအသုံးအနှုနျးအတှကျအောကျပါဖွဲ့စည်းပုံဆိုင်ရာန့်အသတ်ရှိရမည်: 1) နှစ်ဦးစလုံးနှင့်ဆက်ဆံရေးတူညီဒီဂရီများ ( ဆိုလိုသည်မှာဎ); & 2) အသီးအသီး attribute ကို (1 <= ကိုယ့် = ဎ <) အတွက်, ဒိုမိန်း (R1.Attr_i) ဒိုမိန်း (R2.Attr_i) = ။ AN ဖော်ပြမှုရဲ့၏ဒေတာ TYPE နှစ်ခုဆက်ဆံရေး u.c. ၌ရှိကြ၏ IF ထိုအခါထွက်ပေါ်လာတဲ့၏ဆက်ဆံရေး schema ကိုပထမဦးဆုံး operand ၏ဖြစ်လိုမင်းထက်ရွေးချယ်တယ်။ မည်သူမဆို … (operand တိကျတဲ့ – ဥပမာ, ထုတ်ကုန်အော်ပရေတာ) ဝေါဟာရအသုံးအနှုံး: အဆိုပါထွက်ပေါ်လာတဲ့ဆက်ဆံရေး, ပထမဦးဆုံးဒုတိယသို့မဟုတ်နှစ်ခုစလုံး operands တစ်ခုခုကိုအတွက်လက်ဆောင်အပေါငျးတို့သ tuple ရှိပါတယ်။
စာရိုက်:
နှစ်ဦးစလုံး operand ဆက်ဆံရေး u.c. ၌ရှိကြ၏လျှင်ထွက်ပေါ်လာတဲ့ ဆက်စပ်. schema အမျိုးအစားကိုပထမဦးဆုံး operand ၏ဖြစ်ပါသည်
notation:
R1 ဦး R2 ပြည်ထောင်စု (R1, R2)
အသွားအပြန်ဟုတ်သည်ဝန်ထမ်းတွေရဲ့ဟုတ်သည်
အော်ပရေတာ: Difference (binary)
ဝေါဟာရအသုံးအနှုံး:
အဆိုပါထွက်ပေါ်လာတဲ့ဆက်ဆံရေးဒုတိယ operand အတွက်တင်ပြကြသည်မဟုတ်ကြောင်းပထမဦးဆုံး operand အပေါငျးတို့သ tuples ပါဝင်သည်။
စာရိုက်:
နှစ်ဦးစလုံး operand ဆက်ဆံရေး u.c. ၌ရှိကြ၏လျှင်ထွက်ပေါ်လာတဲ့ ဆက်စပ်. schema အမျိုးအစားကိုပထမဦးဆုံး operand ၏ဖြစ်ပါသည်
notation:
R1 – R2 ကွဲပြားမှု (R1, R2)
အသွားအပြန် NO ဝန်ထမ်းတွေရဲ့ NO
အော်ပရေတာ: ရွေးချယ်ရေး (unary)
ဝေါဟာရအသုံးအနှုံး:
အ operand ကနေရှေးခယျြခွအေနမြေားကျေနပ်အောင်သောသူအပေါင်းတို့သည် tuples ဖြည်ခြင်းဖြင့်သစ်တစ်ခု ဆက်စပ်. ဖန်တီးပါ။
Tuples:
ထွက်ပေါ်လာတဲ့ ဆက်စပ်. schema အမျိုးအစားကို operand ရဲ့ schema မှညီမျှသည်။
တစ်ဦးကရွေးချယ်ရေးခွအေနအေအောက်ပါပုံစံရှိပါတယ်:
နာမတော်ကိုမနှိုင်းယှဉ် op Attribute ။ စဉ်ဆက်မပြတ်တန်ဖိုးကိုသို့မဟုတ် Attribute name ကိုနှိုင်းယှဉ်ခြင်း op ။ နာမတျောကို attribute
ရွေးချယ်ရေးအခြေအနေများကိုတစ်စီးရီးကို select လုပ်ပါ CONDITION1 ၌ရှိသကဲ့သို့ပေါင်းစပ် AND CONDITION2 သို့မဟုတ် select လုပ်ပါ CONDITION1 OR ကို select လုပ်ပါ CONDITION2 ကို select လုပ်ပါနိုင်
အမိန့် domains များ> ပါဝင်, <, ==,! =, etc ဘို့တချို့ကပုံမှန်နှိုင်းယှဉ်လျှင်အော်ပရေတာ
notation:
(အခွအေနေကို select လုပ်ပါ) R1 SELECT (R1, ရွေးချယ်ရေးခွအေနအေ)
မှတ်စု:
အဆိုပါရလဒ်များ operand ၏အပိုင်းတစ်ပိုင်းကိုသာလျှင်ပါ!

အသွားအပြန်ဟုတ်သည်ဝန်ထမ်းတွေရဲ့ဟုတ်သည်
relational အက္ခရာသင်္ချာ: လုပ်ငန်းရှင်များ: ကုန်ပစ္စည်း (binary)
ဝေါဟာရအသုံးအနှုံး:
တစ်ဦး Cartesian ထုတ်ကုန်ကွပ်မျက်ခြင်းဖြင့်သစ်တစ်ခု ဆက်စပ်. Create
နှစ်ခု operands ၏။
(R1 နဲ့ R2 ၏ Cardinal 60000 နှင့် 500 ရောက်နေတယ်ဆိုရင်
အသီးသီး, သူတို့ရဲ့ထုတ်ကုန်ရဲ့ Cardinal = * 500 60000 ဖြစ်ပါတယ်
3,000,000!)

စာရိုက်:
အဆိုပါ operands ဆို ဆက်စပ်. schema ရှိနိုင်ပါသည်။ အဆိုပါထွက်ပေါ်လာတဲ့ ဆက်စပ်. schema အ operand ရဲ့ဆက်ဆံရေး schema ၏ concatenation မှညီမျှသည်။
notation:
ဒါကတစ်ဦးသည်အလွန်အမင်း computationally စျေးကြီးသည်
စစ်ဆင်ရေး!
ဒါ့အပြင်ထွက်ပေါ်လာတဲ့ extension ကိုများသောအားဖြင့်အဓိပ္ပာယ်ပြည့်မဟုတ်ပါ !!

ဟုတ်ကဲ့အသွားအပြန်
ဝန်ထမ်းတွေရဲ့ဟုတ်ကဲ့

အော်ပရေတာ: Projection (unary)
ဝေါဟာရအသုံးအနှုံး:
အ operand ကနေ projection စကားရပ်တွင်ဖော်ပြထားသောကြသည်မဟုတ်သောသူအပေါင်းတို့သည်ဂုဏျရညျ (နှင့်အကျိုးဆက်သူတို့ရဲ့တန်ဖိုးတွေကို) ဖယ်ရှားခြင်းအားဖြင့်သစ်တစ်ခု ဆက်စပ်. ဖန်တီးပါ။
စာရိုက်:
ထွက်ပေါ်လာတဲ့ schema အမျိုးအစားကို operand ရဲ့ schema ညီမျှပေမယ် attribute မှာစာရင်းထဲတွင်ဖော်ပြခဲ့တဲ့မဂုဏျရညျဖယ်ထုတ်ပြီး။
notation:
(attr … x1, … , attr_xn) စီမံကိန်း (R1, attr_x1, … , attr_xn)
မှတ်စု:
မိတ္တူပွားတန်ဖိုးများကိုလုံးလုံးလြားလြားကိုဖယ်ရှားကြသည်!
နောက်ထပ်မှတ်စုများ:
စီမံကိန်းများကိုတစ်ဦး string ကိုအတူတစ် algebra စကားရပ်ထဲမှာအကြှနျုပျတို့အပျေါသွားအရာနှစ်ခုရှိသည် – ပြန်လည်ဖွဲ့စည်းခြင်းနှင့် re-တိုးချဲ့ !! အချို့သော algebra ထိန်းသိမ်းရေးနှင့်အတူထိုကန့်သတ်ကိုကျော်လွှားနိုင်ပါတယ်။
(ယေဘုယျအားဖြင့်) အသွားအပြန် (ယေဘုယျအားဖြင့်) အဘယ်သူမျှမဝန်ထမ်းတွေရဲ့အဘယ်သူမျှမ
အော်ပရေတာများ၏အနည်းဆုံးအစု
ဒါဟာ (စသည်တို့ကိုလမ်းဆုံ, join ဥပမာ) အခွားအော်ပရေတာကိုဖော်ပြရန်ငှါ, ပေးအပ်အော်ပရေတာ (အထူးသဖြင့်ကို select လုပ်ပါ, စီမံကိန်းပြည်ထောင်စု, ခြားနားချက်နှင့်ထုတ်ကုန်) ၏အပိုင်းတစ်ပိုင်းကိုသာလျှင်လုံလောက်, ဒါမှမဟုတ်ပြီးပြည့်စုံဖြစ်ကြောင်းကိုပြသနိုင်ပါသည်။
ပြီးပြည့်စုံသောအစုမှအော်ပရေတာများ၏သီးသန့်အသုံးအလွန်ခိုင်မာ ပြန်. , ဣသရေလအချို့သောသဘာဝအ algebra အသုံးအနှုန်းများကိုဖတ်ရှုစေပါ!
ဥပမာ, လမ်းဆုံအော်ပရေတာကဒီပုံစံကိုရှိပါတယ်:
လမ်းဆုံ (R1, R2)
ကွဲပြားမှု (Union (R1, R2), ပြည်ထောင်စု (ကွဲပြားမှု (R1, R2), (ကွဲပြားမှု (R2, R1))) ညီမျှသည်
သို့မဟုတ်ညီမျှ
ကွဲပြားမှု (R1, ကွဲပြားမှု (R1, R2))
အဘယ်ကြောင့်တစ်ဦး algebra?
ရိုးရှင်းတဲ့ဘာသာစကား
တစ်ဦးအချိန် access ကိုမှာ ထား.
ဝေါဟာရအသုံးအနှုံးသံကို
အခြား relational မော်ဒယ်အခြေစိုက်ဘာသာစကားဖော်ပြသောတူညီမေးမြန်းချက်ဖော်ပြထားတာ
(တနည်းအ declarative ဟူ. relational ကဲကုလ)
လုပ်ထုံးလုပ်နည်း
သင့်မြတ်
€ “”ကုမ္ပဏီâ query (တဦးတည်း)
ထို့နောက်â€~Research’ဦးစီးဌာနအတွက်အလုပ်လုပ်သောသူအပေါင်းတို့န်ထမ်းများ၏အမည်နှင့်လိပ်စာ retrieve ။
research_dept: = ကို select လုပ်ပါ dname = €™Researcg’ (ဦးစီးဌာန) က,
research_dept_emps: = ကို select လုပ်ပါ dnumber = dno (research_dept ထုတ်ကုန်န်ထမ်း);
algl1: = စီမံကိန်းကို fname, lname, လိပ်စာ (research_dept_emps);
€ “”ကုမ္ပဏီâ query (နှစ်ဦး)
â€~Stafford’မှာတည်ရှိပါတယ်တိုင်းစီမံကိနျးအတှကျ, စီမံကိန်းအရေအတွက်အထိန်းချုပ်ဌာနသို့နံပါတ်, ထိုဌာနသို့manager’့နောက်ဆုံးအမည်, လိပ်စာ, ထိုအမွေးနေ့စာရင်းပြုစု။
တက်ဖို့-_projs: = ကို select လုပ်ပါ plocation = €™Stafford’ (စီမံကိန်းများကို) â;
Contr_dept: = ကို select လုပ်ပါ dnum-dnumber (Stafford_projs ထုတ်ကုန်ဦးစီးဌာန),
proj_dept_mgr: = ကို select လုပ်ပါ mgrssn = SSN (contr_dept ထုတ်ကုန်န်ထမ်း);
alg2: = စီမံကိန်းကို pnumber, dnum, lname, လိပ်စာ, bdate (proj_dept_mgr);
€ “”ကုမ္ပဏီâ query (သုံး)
ဦးစီးဌာနအရေအတွက် 5 ကထိန်းချုပ်ထားအပေါငျးတို့သစီမံကိန်းများအပေါ်အလုပ်လုပ်သောသူန်ထမ်းများ၏အမည်များကိုရှာပါ။
Dept5_projs (PNO): = စီမံကိန်းကို pnumber (= 5 (စီမံကိန်းများကို) dnum ကို select လုပ်ပါ); emp_proj (SSN, PNO): = စီမံကိန်းကို essn, PNO (works_on); emp_proj_ssns: = စီမံကိန်းကို SSN (emp_proj); % dept5 စီမံကိန်းများကိုလုပ်ဆောင်န်ထမ်းအားလုံးသည်ဖြစ်နိုင်ခြေ။ Poss_emps_dept5: = (ထုတ်ကုန် emp_proj_ssns dept5_projs); သမျှသော dept5 စီမံကိန်းများအပေါ်don’့အလုပ် /% န်ထမ်း .. emps_not_dept5: = စီမံကိန်းကို SSN (poss_emps_dept5 ခြားနားချက် emp_proj); result_emp_ssns: = EMP proj ssns ခြားနားချက် emps_not_dept5; alg3: = စီမံကိန်းကို lname, fname (န်ထမ်း njoin result_emp_ssns);
€ “”ကုမ္ပဏီâ query (လေး)
အဘယ်သူ၏နောက်ဆုံးအမည်အလုပ်သမားတစ်ဦးအဖြစ်သို့မဟုတ်စီမံကိန်းကိုထိန်းချုပ်သောဦးစီးဌာန၏မန်နေဂျာအဖြစ်ဖြစ်စေ, €~Smith’âသည်တစ်ဦးဝန်ထမ်းပါဝငျကြောင်းစီမံကိန်းများအတွက်စီမံကိန်းကိုနံပါတ်များစာရင်းတစ်ခုထားပါ။
Smith က (essn): = စီမံကိန်းကို SSN (lname ကို select = â€~Smith’ (န်ထမ်း));
smith_worker_projs: = စီမံကိန်းကို PNO (Smith njoin works_on);
mgrs: = စီမံကိန်းကို lname, dnumber (SSN = mgrssn (န်ထမ်းထုတ်ကုန်ဦးစီးဌာန) ကို select လုပ်ပါ);
smith_mgrs: = selecy lname = €™Smith’ (mgrs) â;
smith_managed_depts (dnum): = စီမံကိန်းကို dnumber (smith_mgrs);
smith_mgr_projs (PNO): = စီမံကိန်းကို pmumber (စီမံကိန်းများကို njoin smith_managed_depts);
alg3: = smith_worker_projs ပြည်ထောင်စု smith_mgr_projs;
€ “”ကုမ္ပဏီâ query (ငါး)
နှစ်ခုသို့မဟုတ်နှစ်ခုထက်ပိုသောမူတည်နှင့်အတူအားလုံးန်ထမ်းများ၏အမည်များစာရင်းပြုစုပါ။
% မှီခိုနှင့်အတူန်ထမ်းနှစ်ဦးမိတ္တူလုပ်ပါ။
Empdep1 (essn, depname1): = စီမံကိန်းကို essn, dependent_name (မှီခို);
empdep2 (essn2, depname2): = empdep1;
& မှီခိုတစ်ခုထက် ပို. နှင့်အတူန်ထမ်း။
Emps_gtone_dep (SSN): = စီမံကိန်းကို essn1 (select လုပ်ပါ (essn = essn2) နှင့် (depname1 <> depname2) (empdep1 ထုတ်ကုန် empdep2));
alg5: = စီမံကိန်းကို lname, fname (emps njoin န်ထမ်း) gtone_dep);
query (ခြောက်ခု) – ကုမ္ပဏီ
အဘယ်သူမျှမမှီခိုသူန်ထမ်းများ၏အမည်များ retrieve ။
All_emps: = စီမံကိန်းကို SSN (န်ထမ်း); Emps_with_deps (SSN): = စီမံကိန်းကို essn (မှီခို); Emps_without_deps: = (all_emps
ခြားနားချက် emps_with_deps); Alg6: = စီမံကိန်းကို lname, fname
(njoin န်ထမ်း emps_without_deps);
€ “”ကုမ္ပဏီâ query (ခုနစ်ခု)
မှီခိုမှာအနည်းဆုံးတစ်ဦးရှိသည်သောမန်နေဂျာများ၏အမည်များစာရင်းပြုစုပါ။
Mgrssn (SSN): = စီမံကိန်းကို mgrssn (ဦးစီးဌာန), Emps_with_deps (SSN): = စီမံကိန်းကို essn (မှီခို); Mgrs_with_deps: = (emps_with_deps ဆုံမှတ်ဖြတ်သန်း mgrssn); Alg7: = စီမံကိန်းကို lname, fname
(န်ထမ်း njoin mgrs_with_deps);

“——————————————————————————————————————————————————

समर्थन अनुवाद: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
संबंधात्मक बीजगणित
एक बीजगणित के हो?
बीजगणित (अल-जेई-BRE) संज्ञा
गणित
गणित को 1 एक सामान्यकरण प्रतीक, वर्णमाला को सामान्यतया अक्षर, संख्या, वा संख्या एक विशिष्ट सेट सदस्य प्रतिनिधित्व र सेट मा सबै संख्या लागि राख्नुभएको अपरेसन गरेर सम्बन्धित छन् जो।
2 निर्दिष्ट नियमहरू पालन भनेर सेट मा परिभाषित संचालन साथ सेट।
3 शब्द अरब गणितज्ञ अल-Khwarizmi (सिर्का 900 ई) द्वारा शुरू र 1145 मा द्वारा चेस्टर को रबर्ट ल्याटिन मा भन्दा ल्याए।

[मध्य अंग्रेजी, मध्यकालीन ल्याटिन देखि देखि दुवै हड्डी-सेटिङ र इटालियन, बीजगणित, अरबी अल-jabr, को (को विज्ञान) reuniting:। अल, को + jabr, reunification, हड्डी-सेटिङ]
बीजीय भाषा सामान्य गणनाको मा: तर्क ढोकाहरू लागि बुल बीजगणित; डेटाबेस DML लागि र संबंधात्मक बीजगणित।
एक बीजगणित को मूल सामाग्री एक सेट (अर्थात् अपेरान्ड) र अपरेसन (अर्थात् संचालक) भनेर सेट सबै तत्व कार्य हो।
सञ्चालक गुण (उदाहरणका लागि, एक पूर्णांक सेट र अतिरिक्त सञ्चालन विचार) समावेश: यसको अतिरिक्त को पूर्णाङ्कहरूको भन्दा विनिमेय छ देखि 3 + 4 = 4 + 3 (प्लस (3,4) == प्लस (4,3)); र यसको अतिरिक्त पछि देखि पूर्णाङ्कहरूको भन्दा associative हुन भने 3 + (4 + 5) = (3 + 4) + 5 (प्लस (3, प्लस (4,5)) == प्लस (प्लस (3,4), 5 )))।
को रिलायंस को विशेषताहरु। बीजगणित
यो एक माध्यम सम्पूर्ण सम्बन्ध manipulates
सञ्चालनका semantically unambigous सेट (एड
Codd 1970)।

यो संबंधात्मक बीजगणित गरेको सेट सम्बन्ध गरेको हो
विस्तार (tuples, पङ्क्तिहरू) र संचालक छ
या त एक सेट theoretic मूल वा सम्बन्ध उन्मुख
अनुग्रह।

एक संबंधात्मक बीजीय अभिव्यक्ति आदानों रूपमा छ
(Unary), वा दुई (बाइनरी), सम्बन्ध र कहिले काँही एक
चयन अवस्था।
जबकि अभिव्यक्ति गरेको उत्पादन एकल सम्बन्ध छ।

अन्य लक्षण:

यो बीजगणित गरेको संचालक को सम्बन्ध गरेको tuples सबै काम;

यो बीजगणित एक प्रक्रियागत कम्प्यूटेशनल छ
मोडेल;

तर यो “”Turing पूर्ण”” छ, एक लेख्न सक्छ
लागि सम्बन्ध manipulates कि पास्कल कार्यक्रम
जो कुनै बीजीय बराबर छ।

एक चयन अवस्था विरुद्ध मूल्यांकन गर्न छ
प्रत्येक स्वतन्त्र tuple;

एक बीजीय सञ्चालनको उत्पादन हो एक
एक consequent बीजीय स्वीकार्य इनपुट
अभिव्यक्ति – यो भनिन्छ अभिव्यक्ति
संरचना।

अपरेटरहरु: संघ (बाइनरी)
कस्तो संबंधात्मक बीजीय अभिव्यक्ति को टाइप र यसको परिणामी सम्बन्ध बारेमा?
1) दुवै सम्बन्ध नै डिग्री (: – “”सम्बन्ध”” अनुकूलता दुई सम्बन्धमा को (यू) बाइनरी अभिव्यक्ति लागि, दुई भाग सम्बन्ध (operands r1 र R2) निम्न संरचनात्मक अवरोध अभिव्यक्ति प्रकार सही हुन लागि हुनुपर्छ अर्थात् N); र 2) प्रत्येक विशेषता (1 <= म <= N), डोमेन (R1.Attr_i) = डोमेन (R2.Attr_i)। अभिव्यक्ति गरेको डाटा प्रकार यदि दुई सम्बन्ध u.c. छन् त्यसपछि परिणामी को सम्बन्ध योजना पहिलो अपेरान्ड को कि हुन मनपरी चुनयो छ। अन्यथा … (अपेरान्ड विशिष्ट – जस्तै उत्पादन अपरेटर) अर्थविज्ञान: परिणामी सम्बन्ध सबै पहिलो त, दोस्रो वा दुवै operands मा वर्तमान tuple छ।
टाइप:
परिणामी सम्बन्ध योजना प्रकार पहिलो अपेरान्ड दुवै अपेरान्ड सम्बन्ध u.c. छन् भने छ
संकेतन:
R1 र यू R2 सम्बन्ध (r1 र, R2)
विनिमेय हो associative हो
अपरेटरहरु: भिन्नता (बाइनरी)
अर्थ विज्ञान:
परिणामी सम्बन्ध हो कि दोस्रो अपेरान्ड मा उपस्थित छैन पहिलो अपेरान्ड सबै tuples समावेश छ।
टाइप:
परिणामी सम्बन्ध योजना प्रकार पहिलो अपेरान्ड दुवै अपेरान्ड सम्बन्ध u.c. छन् भने छ
संकेतन:
R1 – R2 diff (r1 र, R2)
विनिमेय कुनै associative कुनै
अपरेटरहरु: चयन (unary)
अर्थ विज्ञान:
को अपेरान्ड देखि कि चयन अवस्था पूरा सबै tuples निकाल्दा गरेर एउटा नयाँ सम्बन्ध सिर्जना गर्नुहोस्।
Tuples:
परिणामी सम्बन्ध योजना को प्रकार अपेरान्ड गरेको योजना बराबर छ।
एक चयन अवस्था निम्न फारम छ:
तुलना सेशन विशेषता नाम। स्थिर मूल्य वा नाम तुलना सेशन विशेषता। विशेषता नाम
चयन अवस्था श्रृंखला CONDITION1 चयन गर्नुहोस् र CONDITION2 चयन गर्नुहोस् वा CONDITION1 चयन गर्नुहोस् वा CONDITION2 गर्नुहोस् रूपमा संयुक्त सकिएन
आदेश डोमेन लागि केही विशिष्ट तुलना संचालक समावेश> <, ==,! =, आदि
संकेतन:
(हालत चयन) R1 चयन गर्नुहोस् (r1 र, चयन अवस्था)
नोट:
परिणामी को अपेरान्ड उपसमूह छ!

विनिमेय हो associative हो
संबंधात्मक बीजगणित: अपरेटरहरु: उत्पादन (बाइनरी)
अर्थ विज्ञान:
एक कार्टेसियन उत्पादन कार्यन्वयन गरेर एउटा नयाँ सम्बन्ध बनाउन
दुई operands को।
(R1 र R2 को cardinalities 60000 र 500 छन् भने
क्रमशः आफ्नो उत्पादनको cardinality 60000 * 500 = छ
30,00,000!)

टाइप:
यो operands कुनै पनि सम्बन्ध योजना हुन सक्छ। परिणामी सम्बन्ध योजना को अपेरान्ड गरेको सम्बन्ध योजना जोडी बराबर छ।
संकेतन:
यो एउटा अत्यन्तै computationally महंगा छ
सञ्चालन!
साथै, परिणामी विस्तार गर्न सामान्यतया अर्थपूर्ण छ !!

विनिमेय हो
associative हो

अपरेटरहरु: प्रक्षेपण (unary)
अर्थ विज्ञान:
सबै विशेषताहरु (र फलस्वरूप आफ्नो मान) को प्रक्षेपण अभिव्यक्ति उल्लेख छैन कि अपेरान्ड देखि उखेलेर नयाँ सम्बन्ध सिर्जना गर्नुहोस्।
टाइप:
परिणामी योजना को प्रकार अपेरान्ड गरेको योजना तर विशेषता सूचीमा उल्लेख छैन विशेषताहरु बाहेक बराबर छ।
संकेतन:
(ATTR … X1, …, attr_xn) परियोजना (r1 र, attr_x1, …, attr_xn)
नोट:
नक्कली मान implicitly हटाइएका छन्!
अरूद्रष्टब्य:
परियोजनाहरूको स्ट्रिङ एउटा बीजीय अभिव्यक्ति हामी दुई कुराहरूमा जाँदै छ – पुनर्गठन र पुन विस्तार !! केही बीजीय manipulations एक यी प्रतिबन्धहरू हटाउन सक्नुहुन्छ।
(सामान्यतया) कुनै associative (सामान्यतया) कुनै विनिमेय
संचालक को न्यूनतम सेट
यो प्रस्तुत संचालक (विशेष चयन, परियोजना, संघ, फरक र उत्पादन) को उपसमूह पर्याप्त हो, या पूर्ण हो कि, अन्य संचालक वर्णन (उदाहरणका लागि सामेल हुनुहोस्, चौबाटोको आदि) देखाउन सकिन्छ।
पूर्ण सेट संचालक को विशेष प्रयोग केही प्राकृतिक बीजीय अभिव्यक्ति अत्यन्तै unyielding पढेर बनाउन!
उदाहरणका लागि, चौराहे अपरेटर यो फारम छ:
कटान (r1 र, R2)
Diff (संघ (r1 र, R2), संघ (diff (r1 र, R2), (diff (R2 R1,))) बराबर छ
वा बराबर
Diff (r1 र, diff (r1 र, R2))
किन बीजगणित?
एक सरल भाषा
एक समय पहुँच मा सेट
semantically ध्वनि
अर्को संबंधात्मक मोडेल आधारित भाषा वर्णन नै प्रश्नहरु व्यक्त
(अर्थात् यो declarative संबंधात्मक कलन)
प्रक्रियागत
optimisable
प्रश्न (एक) एक € “”कम्पनी
त्यसपछि नाम र एक € ~Researchâ € ™ विभाग लागि काम गर्ने सबै कर्मचारीहरु को ठेगाना प्राप्त गर्नुहोस्।
research_dept: = dname चयन = कुनै € ™ Researcgâ € ™ (विभाग);
research_dept_emps: = dnumber चयन = dno (research_dept उत्पादन कर्मचारी);
algl1: = परियोजना fname, lname, ठेगाना (research_dept_emps);
प्रश्न (दुई) एक € “”कम्पनी
मा € ~Staffordâ € ™ स्थित हरेक परियोजना लागि, परियोजना नम्बर, को नियन्त्रणमा विभाग नम्बर, अनि विभाग managerâ € ™ को थर, ठेगाना, अनि जन्ममिति सूची।
Stafford-_projs: = plocation चयन = कुनै € ™ Staffordâ € ™ (परियोजनाहरू);
Contr_dept: = चयन dnum-dnumber (Stafford_projs उत्पादन विभाग);
proj_dept_mgr: = mgrssn चयन = SSN (contr_dept उत्पादन कर्मचारी);
alg2: = परियोजना pnumber, dnum, lname, ठेगाना, bdate (proj_dept_mgr);
प्रश्न (तीन) एक € “”कम्पनी
विभाग नम्बर 5 द्वारा नियन्त्रित सबै परियोजनाहरु मा काम गर्ने कर्मचारीहरु को नाम पत्ता लगाउनुहोस्।
Dept5_projs (pno): = परियोजना pnumber (= 5 (परियोजनाहरू dnum चयन)); emp_proj (SSN, pno): = परियोजना essn, pno (works_on); emp_proj_ssns: = परियोजना SSN (emp_proj); % Dept5 परियोजनाहरुमा काम कर्मचारीहरु को सबै सम्भावनाहरू। ; Poss_emps_dept5 सबै dept5 परियोजनाहरू .. emps_not_dept5 मा स्री कि € ™ को काम /% कर्मचारी = (उत्पादन emp_proj_ssns dept5_projs): = परियोजना SSN (poss_emps_dept5 फरक emp_proj); result_emp_ssns: = EMP proj ssns फरक emps_not_dept5; alg3: = परियोजना lname, fname (result_emp_ssns कर्मचारी njoin);
प्रश्न (चार) एक € “”कम्पनी
कामदारको रूपमा वा परियोजना नियन्त्रण कि विभाग प्रबन्धकको रूपमा या त, एक कर्मचारी जसको थर â € ~Smithâ € ™ छ संलग्न परियोजनाका लागि संख्या परियोजना को सूची बनाउनुहोस्।
Smiths (essn): = परियोजना SSN (lname चयन = एक € ~Smithâ € ™ (कर्मचारी));
smith_worker_projs: = परियोजना pno (works_on njoin smiths);
mgrs: = परियोजना lname, dnumber (चयन SSN = mgrssn (कर्मचारी उत्पादन विभाग));
smith_mgrs: = selecy lname = कुनै € ™ Smithâ € ™ (mgrs);
smith_managed_depts (dnum): = परियोजना dnumber (smith_mgrs);
smith_mgr_projs (pno): = परियोजना pmumber (परियोजनाहरू njoin smith_managed_depts);
alg3: = smith_worker_projs संघ smith_mgr_projs;
प्रश्न (पाँच) एक € “”कम्पनी
दुई वा बढी Dependents सबै कर्मचारीहरु को नाम सूची।
% Dependents संग कर्मचारीहरु को दुई प्रति।
Empdep1 (essn, depname1): = परियोजना essn, dependent_name (निर्भर);
empdep2 (essn2, depname2): = empdep1;
एक भन्दा बढी निर्भर साथ र कर्मचारी।
Emps_gtone_dep (SSN): = परियोजना essn1 (चयन (essn = essn2) र (depname1 <> depname2) (empdep1 उत्पादन empdep2));
alg5: = परियोजना lname, fname (emps njoin कर्मचारी) gtone_dep);
प्रश्न (छ) – कम्पनी
कुनै Dependents भएका कर्मचारीहरु को नाम प्राप्त गर्नुहोस्।
All_emps: = परियोजना SSN (कर्मचारी); Emps_with_deps (SSN): = परियोजना essn (निर्भर); Emps_without_deps: = (all_emps
फरक emps_with_deps); Alg6: = परियोजना lname, fname
(Emps_without_deps कर्मचारी njoin);
प्रश्न (सात) एक € “”कम्पनी
कम्तिमा एक निर्भर भएका प्रबन्धकहरू को नाम सूची।
Mgrssn (SSN): = परियोजना mgrssn (विभाग); Emps_with_deps (SSN): = परियोजना essn (निर्भर); Mgrs_with_deps: = (mgrssn emps_with_deps काट्ने); Alg7: = परियोजना lname, fname
(Mgrs_with_deps कर्मचारी njoin);

“——————————————————————————————————————————————————

Support oversettelse: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
relasjons~~POS=TRUNC Algebra
Hva er en Algebra?
algebra (al-je-bre) substantiv
Matematikk
1 En generalisering av aritmetikk som symboler, vanligvis bokstavene i alfabetet, representerer tall eller medlemmer av et bestemt sett av tall og er relatert ved operasjoner som holder for alle tall i settet.
2 A satt sammen med operasjoner som er definert i settet som lyder spesifiserte lover.
3 Word introdusert av arabiske matematikeren al-Khwarizmi (circa 900 e.Kr.) og brakt over til latin av Robert av Chester i 1145.

[Middle English, Ortopedisk og italiensk, algebra, både fra Medieval Latin, fra arabisk al-jabr, den (vitenskapen om) gjenforenes. Al, den + jabr, gjenforening, Ortopedisk]
Algebraiske språk er vanlig i databehandling: Boolsk algebra for logiske porter; og Relasjonsalgebra for database DML.
Grunnleggende ingrediensene i en algebra er et sett (dvs. operand) og drift (dvs. operatører) som virker på alle deler av settet.
Operatør egenskaper (for eksempel vurdere et heltall satt og tilsetning drift) omfatter: Tilsetning er kommutativ over hele tall siden 3 + 4 = 4 + 3 (pluss (3,4) == pluss (4,3)); og tilsetningen er sagt å være assosierende over hele tall siden + 3 (4 + 5) = (3 + 4) + 5 (pluss (3, plus (4,5)) == pluss (pluss (3,4), 5 ))).
Kjennetegn ved Rel. algebra
Det manipulerer hele relasjoner gjennom en
semantisk utvetydig sett av operasjoner (Ed
Codd 1970).

Relasjonsalgebra er sett er forholdet s
Utvidelse (tupler, rader) og operatørene har
enten et sett teoretisk opprinnelse eller relasjonsorienterte
favorisere.

En relasjons algebraisk uttrykk har som innganger en
(Enhetlige), eller to (binær), relasjoner og noen ganger en
utvalg tilstand.
Mens et uttrykk produksjon er et enkelt forhold.

Andre Kjennetegn:

algebra operatører fungere på alle relasjonen er tupler;

algebra har en prosessuell beregnings
modell;

Men det er ikke “”Turing fullstendig””, kan man skrive en
Pascal program som manipulerer relasjoner for
der det ikke er algebraisk ekvivalent.

et utvalg tilstand må vurderes mot
hver tuppel selvstendig,

utgangen fra en algebraisk operasjon er en
akseptabel inngang til en påfølgende algebraisk
uttrykk – dette kalles uttrykk
sammensetning.

Operatører: Union (binær)
Hva med å skrive av en relasjons algebraiske uttrykk og dens resulterende forhold?
“”UNION”” Compatibility (UC) av to relasjoner for en binær uttrykk, de to deltagende relasjoner (operander – R1 og R2) må ha følgende strukturelle føringer for uttrykket å være type riktig: 1) begge relasjoner har samme grad ( dvs. n); Og 2) for hvert attributt (1 <= i <= n), domenet (R1.Attr_i) = domene (R2.Attr_i). Datatypen av et uttrykk er HVIS de to relasjoner er i u.c. SÅ forholdet skjema av den resulterende er vilkårlig valgt å være det av den første operanden. ELSE … (operand bestemt – for eksempel produkt operatør) Semantikk: Den resulterende forhold har all tuppel stede i enten første, andre eller begge operander.
Typing:
Typen av den resulterende forbindelse skjemaet er det av den første operanden hvis begge operand relasjoner er i u.c.
Notasjon:
R1 U R2 UNION (R1, R2)
kommutativ JA assosiativ JA
Operatører: Difference (binær)
semantikk:
Den resulterende forbindelse omfatter alle tupler av den første operanden som ikke er til stede i den andre operanden.
Typing:
Typen av den resulterende forbindelse skjemaet er det av den første operanden hvis begge operand relasjoner er i u.c.
Notasjon:
R1 – R2 DIFF (R1, R2)
kommutativ NO assosiativ NO
Operatører: Utvalg (enhetlige)
semantikk:
Lag en ny relasjon ved å trekke fra operand alle tupler som tilfredsstiller utvalgs forhold.
tupler:
Typen av den resulterende forbindelse skjemaet er ekvivalent med operanden s skjema.
Et utvalg tilstand har følgende form:
Attributtnavn Sammenligning op. Konstant verdi eller Attributtnavn Sammenligning op. attributtnavn
En rekke utvalgs forhold kan kombineres som i velg CONDITION1 og velg Condition2 eller velg CONDITION1 ELLER velg Condition2
Noen typiske sammenligningsoperatorer for ordnede domener inkludere>, <, ==,! =, Etc
Notasjon:
(Velg tilstand) R1 SELECT (R1, utvalg tilstand)
notat:
Den resulterende er et delsett av den operand!

kommutativ JA assosiativ JA
Relasjons Algebra: Operatører: Produkt (binær)
semantikk:
Lag en ny relasjon ved å utføre et kartesisk produkt
av de to operander.
(Hvis kardinalitetene av R1 og R2 er 60 000 og 500
henholdsvis er deres produkt kardinalitet 60000 * 500 =
3000000!)

Typing:
De operander kan ha noen sammenheng skjema. Den resulterende forhold skjemaet tilsvarer sammensetning av operand relasjon skjema.
Notasjon:
Dette er en ekstremt beregningsmessig kostbar
operasjon!
Dessuten er den resulterende utvidelsen ikke vanligvis menings !!

kommutativ Ja
assosiativ Ja

Operatører: Projection (enhetlige)
semantikk:
Lag en ny relasjon ved å fjerne fra operand alle attributter (og dermed deres verdier) som ikke er nevnt i prognose uttrykk.
Typing:
Typen av den resulterende skjemaet er ekvivalent med den operand for datasett, men unntatt egenskaper som ikke er nevnt i attributtlisten.
Notasjon:
(Attr … x1, …, attr_xn) PROJECT (R1, attr_x1, …, attr_xn)
notat:
Like verdier implisitt fjernet!
Ytterligere Merknader:
I et algebraisk uttrykk med en rekke prosjekter har vi to ting skjer – restrukturering og re-utvide !! Med visse algebraiske manipulasjoner kan man overvinne disse begrensningene.
kommutativ (generelt) Ingen assosiativ (generelt) Ingen
Minimal sett operatører
Det kan vises at en undergruppe av de presenterte operatører (spesielt velger, prosjekt, union, forskjell og produkt) er tilstrekkelig, eller fullstendig, for å beskrive andre operatører (for eksempel bli med, kryss etc).
Eksklusiv bruk av aktører fra hele settet gjør lest noen naturlige algebraiske uttrykk ekstremt urokkelig!
For eksempel har krysset operatør dette skjemaet:
Kryss (R1, R2)
er ekvivalent med DIFF (UNION (R1, R2), UNION (DIFF (R1, R2), (DIFF (R2, R1)))
eller tilsvarende
DIFF (R1, DIFF (R1, R2))
Hvorfor en algebra?
et enkelt språk
innstilt på en time tilgang
semantisk lyd
uttrykker de samme spørsmål som en annen relasjonsmodellen basert språk beskriver
(Dvs. det deklarative relasjons kalkulus)
prosedyremessig
optimisable
Query (en) â € “”Selskapet
Hente deretter navnet og adressen til alle ansatte som jobber for â € ~Researchâ € ™ avdeling.
research_dept: = velg DNAME = â € ™ Researcgâ € ™ (departement);
research_dept_emps: = velger dnumber = DNO (research_dept produkt ansatte);
algl1: = prosjekt fname, lname, adresse (research_dept_emps);
Query (to) â € “”Selskapet
For hvert prosjekt ligger i â € ~Staffordâ € ™, liste prosjektnummer, kontrollere avdelingsnummer, og avdelingen managerâ € ™ s etternavn, adresse og fødselsdato.
Stafford-_projs: = velg plocation = â € ™ Staffordâ € ™ (prosjekter);
Contr_dept: = velg dnum-dnumber (Stafford_projs produktavdelingen);
proj_dept_mgr: = velg mgrssn = SSN (contr_dept produkt ansatt);
alg2: = prosjekt pnumber, dnum, lname, adresse, bdate (proj_dept_mgr);
Query (tre) â € “”Selskapet
Finn navn på ansatte som jobber på alle prosjekter som kontrolleres av avdeling nummer fem.
Dept5_projs (PNO): = prosjektet pnumber (velg dnum = 5 (prosjekter)); emp_proj (SSN, PNO): = prosjektet ESSN, PNO (works_on); emp_proj_ssns: = prosjekt SSN (emp_proj); % Alle muligheter for ansatte som arbeider på dept5 prosjekter. Poss_emps_dept5: = (dept5_projs produkt emp_proj_ssns); /% Ansatte som dona € ™ s arbeid på alle dept5 prosjekter .. emps_not_dept5: = prosjekt SSN (poss_emps_dept5 forskjell emp_proj); result_emp_ssns: = emp Proj ssns forskjell emps_not_dept5; ALG3: = prosjekt lname, fname (result_emp_ssns njoin ansatt);
Query (fire) â € “”Selskapet
Lag en liste over prosjektnumre for prosjekter som involverer en ansatt som har etternavn er â € ~Smithâ € ™, enten som arbeidstaker eller som leder av Institutt som styrer prosjektet.
Smiths (ESSN): = prosjektet SSN (velg lname = â € ~Smithâ € ™ (ansatt));
smith_worker_projs: = prosjekt PNO (works_on njoin smiths);
mgrs: = prosjekt lname, dnumber (velg SSN = mgrssn (ansatt produktavdelingen));
smith_mgrs: = selecy lname = â € ™ Smitha € ™ (mgrs);
smith_managed_depts (dnum): = prosjektet dnumber (smith_mgrs);
smith_mgr_projs (PNO): = prosjektet pmumber (smith_managed_depts njoin prosjekter);
ALG3: = smith_worker_projs fagforenings smith_mgr_projs;
Query (fem) â € “”Selskapet
List opp navnene til alle ansatte med to eller flere pårørende.
% Lag to kopier av ansatte med pårørende.
Empdep1 (ESSN, depname1): = prosjektet ESSN, dependent_name (avhengig);
empdep2 (essn2, depname2): = empdep1;
og ansatte med mer enn én avhengige.
Emps_gtone_dep (SSN): = prosjektet essn1 (velg (ESSN = essn2) og (depname1 <> depname2) (empdep1 produkt empdep2));
alg5: = prosjekt lname, fname (ansatt njoin Samkjørings) gtone_dep);
Query (seks) – Firma
Hent navn på ansatte som ikke har noen pårørende.
All_emps: = prosjekt SSN (ansatt); Emps_with_deps (SSN): = prosjektet ESSN (avhengig); Emps_without_deps: = (all_emps
Forskjellen emps_with_deps); Alg6: = prosjekt lname, fname
(Emps_without_deps njoin ansatt);
Query (sju) â € “”Selskapet
List opp navnene på ledere som har minst ett avhengige.
Mgrssn (SSN): = prosjektet mgrssn (departement); Emps_with_deps (SSN): = prosjektet ESSN (avhengig); Mgrs_with_deps: = (mgrssn krysser emps_with_deps); Alg7: = prosjekt lname, fname
(Mgrs_with_deps njoin ansatt);

“——————————————————————————————————————————————————

د ملاتړ ژباړه: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
اړیکی د لیکنی
یو د لیکنی په څه شی دی؟
الجبر (al-je-bre) اسم
رياضي
1 د arithmetic يو عمومي چې سمبولونه، معمولا د الفبا په تورو، شمېروو او یا د د شميرو له ځانګړو غړو استازیتوب او د عملیاتو لپاره چې په سیټ ټول شمېر جوړې سره تړلي دي.
2 A په ګډه سره د عملیاتو په لړ کې له ټاکل شوي چې د ځانګړې قوانينو اطاعت تعريف جوړ.
3 Word له خوا د عربي ریاضي القاعده خوارزمي (مورنئ 900 م) معرفي او د Chester رابرټ په 1145 ته لاتیني راوړل دي.

[د منځني انګلیسي، د هډوکو جوړول و او د ایټالوی، الجبر، دواړو څخه Medieval لاتیني، له عربي al-څهنګه چې، د (د علم) غورالندی:. al، د + څهنګه، يووالي، د هډوکو جوړول]
Algebraic ژبو په computing عام دي: د منطق دروازې څرګندکه الجبر؛ او اړیکی د ډیټابیس DML الجبر.
د الجبر اساسي اجزاو یو سیټ (i.e. د Yes) او د عملیاتو په (i.e. متصدیانو) چې د سیټ د ټولو عناصرو عمل دي.
Operator د مال (د مثال په توګه، د یو integer جوړ او سربېره د عملياتو په پام کې) عبارت دي له: تر څنګ د ده د integers commutative راهیسې 3 + 4 = 4 + 3 (جمع (3،4) == جمع (4،3))؛ او څنګ ویل کیږي چې د integers راهیسې associative وي 3 + (4 + 5) = (+ 4 3) + 5 (جمع (3، جمع (4،5)) == جمع (جمع (3،4)، 5 ))).
د REL مشخصات. الجبر
دا د لارې ټول اړیکو سمبالوي
د عملیاتو semantically unambigous ټولګه (Ed
Codd 1970).

د اړیکی الجبر د سټونه د تړاو د دي
د ترویج (tuples، د قطارونو په) او د سیمو کې لري
يا د يو جوړ نظري اصلي يا تړاو لرونکې
په ګټه.

A اړیکی algebraic بيان په توګه توکو یو لري
(unary)، يا دوه (binary)، د اړیکو او کله کله یو
انتخاب حالت.
په داسې حال کې د يو بيان د تولید یو واحد ارتباط کی ده.

نور ځانګړتياوي:

د الجبر د متصدیانو د تړاو د tuples ټول کار وکړي؛

د الجبر لري چی طرزالعملونو محاسبې
موډل؛

خو دا “”تشکيل بشپړ”” نه ده، يوه شي ولیکي
پاسکال پروګرام چې د اړیکو سمبالوي
چې algebraic معادل نه شته.

انتخاب حالت لري چې په وړاندې ارزول شي
په خپلواکه توګه د هر tuple؛

د يو algebraic عملياتو د محصول دی چی یو
د يو راټيټه algebraic د منلو وړ آخذه
بيان – د دې بیان په دې نامه
جوړښت.

Operators د: اتحاد (binary)
د اړیکی algebraic بيان د ټایپنګ او د هغې د پایلو په تړاو په اړه څه نظر لري؟
“”اتحاد”” د پخیدلوموده (يوسې) د دوه اړیکې په د يو دويال بيان، د دواړو ګډون relations (شمېرښتونو – R1 او R2) باید لاندې جوړښتونو د محدودیتونو لپاره د بيان د ډول صحيح دی: 1) د دواړو اړيکې لرو د همدې درجو ( يعنې د n)؛ & 2) د هر ځانتیا (1 <= i <= n)، د ډومین (R1.Attr_i) = چې دعامه (R2.Attr_i). د ارقامو او د بیان د ډول که د دواړو اړیکو په u.c. دي وروسته د پایلو په تړاو schema سري غوره وي، د لومړي د Yes چې ده. بل … (د Yes ځانګړو – e.g. محصول Operator د) پریس: د پایلو په تړاو لري ټول tuple په يا د لومړي، دوهم او يا دواړو د شمېرښتونو حاضر.
ټایپنګ:
د پایلو په تړاو schema ډول دی چې د لومړۍ د Yes که دواړه د Yes اړیکو په u.c. دي
لاندنۍ نښې:
R1 کلنو R2 اتحاد (R1، R2)
commutative هو هو associative
متصدیانو: بدلون (binary)
فرانس پریس اژانس:
پایله دا په تړاو د لومړی د Yes د ټولو tuples دي چې په دويم د Yes حاضر نه شامل دي.
ټایپنګ:
د پایلو په تړاو schema ډول دی چې د لومړۍ د Yes که دواړه د Yes اړیکو په u.c. دي
لاندنۍ نښې:
R1 – R2 توپير (R1، R2)
commutative نه associative نه
متصدیانو: د غوراوي (unary)
فرانس پریس اژانس:
له خوا د Yes له ټولو tuples د انتخاب شرایط چې د قناعت وړ استخراج یوه نوي تړاو جوړول.
Tuples:
د پایلو په تړاو schema ډول معادل ته د Yes د schema ده.
يو انتخاب حالت لري په لاندې ډول:
د نوم د خاصې پرتله op. ستر ارزښت او يا د نوم پرتله op منسوب. نوم منسوب
د انتخاب حالت ته یوه لړۍ په توګه په غوره condition1 او غوره condition2 يا انتخاب condition1 یا انتخاب condition2 یو ځای شي
د امر منطقې يو شمېر عادی Comparison Operators د شامل>، <، ==،! =، او نور
لاندنۍ نښې:
(غوره حالت) R1 انتخاب (R1، انتخاب حالت)
یادښت:
پایله دا ده چې د د Yes يو شمېرماشين!

commutative هو هو associative
اړیکی د لیکنی: متصدیانو: د محصول (binary)
فرانس پریس اژانس:
له خوا د Cartesian محصول اجرا یو نوی تړاو جوړول
د دواړو د شمېرښتونو.
(که د R1 او R2 د cardinalities دي 60000 او 500
په ترتیب سره، خپل محصول د cardinality ده 60000 * 500 =
3،000،000)!

ټایپنګ:
د شمېرښتونو کولاي شي په تړاو schema لري. پایله دا په تړاو schema معادل دې د د Yes د تړاو schema د توګه Concatenation.
لاندنۍ نښې:
دا يو ډېر ګران کمپيوټر
د عملياتو!
همدارنګه، د پایلو د ترویج معمولا مانا نه ده !!

commutative هو
associative هو

متصدیانو: وړاندوينې (unary)
فرانس پریس اژانس:
له خوا د Yes څخه د له مينځه وړلو د نوي تړاو جوړول د ټولو صفاتو د (او په نتيجه کې د خپلو ارزښتونو) چې په وړاندوینه بیان د ذکر نه دي.
ټایپنګ:
د پایلو schema ډول معادل ته د Yes د schema خو پرته صفات په خاصه لست يادونه نه ده.
لاندنۍ نښې:
(attr … x1، …، attr_xn) پروژه (R1، attr_x1، …، attr_xn)
یادښت:
دوه ګونو ارزښتونو دي ضمني لرې!
لا یادونې:
په یوه algebraic بيان سره د پروژو د یو تار موږ دوه شيان روان – جوړښت او بیا غځولو !! سره د ځانګړو algebraic manipulations کولای دا محدوديتونه له منځه.
(په عمومي توګه) نه associative (په عمومي توګه) نه commutative
د Operators د لږې ټولګه
دا شي ښودل شي چې د وړاندې متصدیانو (په ځانګړې توګه ټاکل، د پروژې، د اتحادیې، توپير او د محصوالتو) يو د شمېرماشين مناسبې، يا بشپړ، چې د نورو سیمو کې تشریح (د مثال سره یوځای شي، د تقاطع او نور).
د بشپړه ټولګه له Operators د استفادې د انحصاري نا ځينو طبيعي algebraic اظهار لوستلو ډېر تائید شوی!
د مثال په توګه، د څلور لاري Operator د لري دغه فورمه:
Intersection (R1، R2)
معادل دې توپير (اتحاد (R1، R2)، اتحاد (توپير (R1، R2)، (سېپتمبر (R2، R1)))
يا معادل
توپير (R1، توپير (R1، R2))
ولي د الجبر؟
يوه ساده ژبه
جوړ په يو وخت کې د لاسرسي
semantically غږ
په همدې پوښتنو ته چې د بل اړیکی موډل پر بنسټ ژبې د تشريح څرګندوي
(i.e. د تشريحي اړیکی کلکولس)
طرزالعملي
optimisable
نه خوری (يو) â € “”ده د شرکت
راوباسي نو نوم او د ټولو کارکوونکو چې د â € ~Researchâ € ™ د رياست لپاره کار پته.
research_dept: = انتخاب dname = â € ™ Researcgâ € ™ (رياست)؛
research_dept_emps: = انتخاب dnumber = dno (research_dept محصول کارمند)؛
algl1: = پروژې fname، lname، پته (research_dept_emps)؛
نه خوری (دوه) â € “”ده د شرکت
د هرې پروژې په â € ~Staffordâ € ™ کې موقعيت لري، د پروژې شمېر، د کنټرول رياست شمیر، او د رياست managerâ € ™ د تېرو نوم، پته، او د زيږيدنې لست کړي.
Stafford-_projs: = انتخاب plocation = â € ™ Staffordâ € ™ (پروژې)؛
Contr_dept: = انتخاب dnum-dnumber (Stafford_projs محصول رياست)؛
proj_dept_mgr: = انتخاب mgrssn = SSN (contr_dept محصول کارمند)؛
alg2: = پروژې pnumber، dnum، lname، پته، bdate (proj_dept_mgr)؛
نه خوری (درې) â € “”ده د شرکت
د هغو مامورینو د په ټولو پروژو د رياست 5 شمېر په لاس کار د نومونو موندل.
Dept5_projs (pno): = پروژې pnumber (غوره dnum = 5 (پروژې))؛ emp_proj (SSN، pno): = پروژې essn، pno (works_on)؛ emp_proj_ssns: = پروژې SSN (emp_proj)؛ ٪ ټول د کارکوونکو پر dept5 پروژو د کار امکانات. ؛: Poss_emps_dept5 /٪ مامورین چې € ™ د کار او چپيريال په ټولو dept5 پروژو .. emps_not_dept5 = (محصول emp_proj_ssns dept5_projs): = پروژې SSN (poss_emps_dept5 توپير emp_proj)؛ result_emp_ssns: = emp proj د SSN توپير emps_not_dept5؛ alg3: = پروژې lname، fname (result_emp_ssns njoin کارمند)؛
نه خوری (څلور) â € “”ده د شرکت
پروژې چې د یوه کارمند د چا تخلص â € ~Smithâ € ™ ده دخيله وي، يا د يوه کارکوونکي او یا د وزارت د يو مدير چې د پروژې د کنټرول لپاره د د پروژې د شمېر يو لست د کمکیانو لپاره.
صنايو (essn): = پروژې SSN (غوره lname = â € ~Smithâ € ™ (کارکوونکي))؛
smith_worker_projs: = پروژې pno (works_on njoin صنايو)؛
mgrs: = پروژې lname، dnumber (غوره SSN = mgrssn (کارمند محصول رياست))؛
smith_mgrs: = selecy lname = â € ™ Smithâ € ™ (mgrs)؛
smith_managed_depts (dnum): = پروژې dnumber (smith_mgrs)؛
smith_mgr_projs (pno): = پروژې pmumber (njoin پروژو smith_managed_depts)؛
alg3: = smith_worker_projs اتحادیې smith_mgr_projs؛
نه خوری (پنځه) â € “”ده د شرکت
د ټولو کارکوونکو د نومونو سره د دوه یا زیات متکي لست کړئ.
٪ د کارکوونکو دوه نقله د کمکیانو لپاره سره تړاو.
Empdep1 (essn، depname1): = پروژې essn، dependent_name (سره تړاو لري)؛
empdep2 (essn2، depname2): = empdep1؛
& مامورین له يوه څخه د زياتو سره تړاو لري.
Emps_gtone_dep (SSN): = پروژې essn1 (انتخاب (essn = essn2) او (depname1 <> depname2) (empdep1 محصول empdep2))؛
alg5: = پروژې lname، fname (njoin د هرهېواد کارمند) gtone_dep)؛
نه خوری (شپږ) – د شرکت
د هغو مامورینو د نه تړاو لري د نومونو راوباسي.
All_emps: = پروژې SSN (کارکوونکي)؛ Emps_with_deps (SSN): = پروژې essn (سره تړاو لري)؛ Emps_without_deps: = (all_emps
توپير emps_with_deps)؛ Alg6: = پروژې lname، fname
(emps_without_deps njoin کارمند)؛
نه خوری (اووه) â € “”ده د شرکت
د مدیرانو چې لږ تر لږه يو تن سره تړاو لري د نومونو لست کړئ.
Mgrssn (SSN): = پروژې mgrssn (رياست)؛ Emps_with_deps (SSN): = پروژې essn (سره تړاو لري)؛ Mgrs_with_deps: = (mgrssn emps_with_deps څخه تېرېږي،)؛ Alg7: = پروژې lname، fname
(mgrs_with_deps njoin کارمند)؛

“——————————————————————————————————————————————————

ترجمه پشتیبانی: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
جبر رابطه ای
جبر چیست؟
جبر (AL-JE-BRE) الاسم
ریاضیات
1 یک تعمیم از حساب که در آن علامت، معمولا حرف از حروف الفبا، اعداد و یا اعضای یک مجموعه خاص از اعداد و توسط عملیات که برای همه اعداد در مجموعه نگه مربوط می شود.
2 مجموعه ای با عملیات تعریف شده در مجموعه ای که قوانین مشخص اطاعت کنند.
3 کلمه معرفی شده توسط ریاضیدان عرب خوارزمی (حدود 900 میلادی) و بیش از به لاتین توسط رابرت چستر در 1145 به ارمغان آورد.

[انگلیسی میانه، استخوان تنظیم و ایتالیایی، جبر، هر دو از قرون وسطی لاتین، از عربی al-جبر، (به علم) متحد: AL از + جبر، الحاق، استخوان تنظیم]
زبان جبری در محاسبات معمول عبارتند از: جبر بولی برای گیت های منطقی؛ و جبر رابطه برای DML پایگاه داده است.
مواد اولیه از جبر مجموعه ای (به عنوان مثال عملوند) و عملیات (به عنوان مثال اپراتور) که بر روی همه عناصر از مجموعه عمل می کنند.
خواص اپراتور (برای مثال، در نظر یک عدد صحیح تنظیم و عملیات علاوه بر این) عبارتند از: علاوه بر جابجایی بیش از اعداد صحیح است زیرا 3 + 4 = 4 + 3 (به علاوه (3،4) == همراه (4،3))؛ و علاوه بر این گفته می شود انجمنی بیش از اعداد صحیح از 3 + (4 + 5) = (3 + 4) + 5 (به علاوه (3، به علاوه (4،5)) == همراه (به علاوه (3،4)، 5 ))).
ویژگی های نگارش. جبر
این دستکاری کل روابط از طریق یک
مجموعه ای معنایی unambigous عملیات (اد
کاد 1970).

مجموعه جبر رابطه هستند رابطه را
پسوند (تاپل، ردیف) و اپراتور ها
یا یک منشاء تئوری مجموعه و یا رابطه گرا
لطف.

یک عبارت جبری رابطه است به عنوان ورودی یک
(یگانی)، یا دو (باینری)، روابط و گاهی اوقات یک
شرایط انتخاب.
در حالی که خروجی یک عبارت یک رابطه تک است.

خصوصیات دیگر:

اپراتورهای جبر را در تمام تاپل رابطه کار؛

جبر است محاسباتی رویه
مدل؛

اما آن است که “”تورینگ کامل”” نیست، می توان یک ارسال
برنامه پاسکال که به دخالت روابط برای
که در آن هیچ معادل جبری وجود دارد.

شرط انتخاب است در برابر ارزیابی شود
هر طور مستقل تاپل؛

خروجی از یک عملیات جبری است
ورودی قابل قبول به یک جبری نتیجه
بیان – این عبارت است که به نام
ترکیب بندی.

اپراتورهای: اتحادیه (باینری)
چه در مورد تایپ کردن یک عبارت جبری رابطه و ارتباط حاصل از آن؟
“”اتحادیه”” سازگاری (UC) از دو رابطه برای بیان باینری، دو شرکت روابط (عملوند – R1 و R2) باید محدودیت های ساختاری زیر را داشته باشد برای بیان به نوع صحیح: 1) هر دو رابطه دارند به همان درجه ( یعنی N)؛ و 2) برای هر ویژگی (1 <= <= من N)، دامنه (R1.Attr_i) = دامنه (R2.Attr_i). نوع داده یک عبارت در صورتی که دو رابطه در u.c. هستند پس از آن طرح رابطه حاصل دلخواه انتخاب شود که از عملوند اول است. دیگری … (عملوند خاص – به عنوان مثال، اپراتور محصول) معناشناسی: ارتباط حاصل است که تمام تاپل در حال حاضر در هر دو اول، دوم و یا هر دو عملوند.
تایپ کردن:
نوع طرح رابطه حاصل این است که از عملوند اول اگر هر دو عملوند روابط در u.c. هستند
نشانه گذاری:
R1 R2 U UNION (R1، R2)
جابجایی انجمنی بله بله
اپراتورها: تفاوت (دودویی)
معناشناسی:
رابطه حاصل شامل تمام چندتایی از عملوند اول که در حال حاضر در عملوند دوم است.
تایپ کردن:
نوع طرح رابطه حاصل این است که از عملوند اول اگر هر دو عملوند روابط در u.c. هستند
نشانه گذاری:
R1 – R2 DIFF (R1، R2)
NO NO مبادلهای انجمنی
اپراتورهای: انتخاب (یگانی)
معناشناسی:
درست یک رابطه جدید با استخراج از عملوند تمام تاپل که برآورده شرایط انتخاب.
تاپل:
نوع طرح رابطه حاصل معادل طرح عملوند است.
شرط انتخاب به صورت زیر است:
نام مشخصه مقایسه عملیات. مقدار ثابت و یا نام مشخصه مقایسه عملیات. نام مشخصه
مجموعه ای از شرایط انتخاب می تواند به عنوان در CONDITION1 انتخاب کنید و را انتخاب کنید یا CONDITION2 CONDITION1 انتخاب کنید و یا CONDITION2 انتخاب ترکیب
برخی از اپراتورهای مقایسه معمولی برای دامنه های دستور شامل>، <، ==،! =، و غیره
نشانه گذاری:
(شرایط را انتخاب کنید) R1 SELECT (R1، شرایط انتخاب)
توجه داشته باشید:
حاصل یک زیر مجموعه از عملوند است!

جابجایی انجمنی بله بله
جبر رابطه ای: اپراتورها: محصولات (باینری)
معناشناسی:
درست یک رابطه جدید با اجرای یک ضرب دکارتی
از دو عملوند هستند.
(اگر cardinalities R1 و R2 هستند 60،000 و 500
به ترتیب، کاردینالیتی محصول خود را 60000 * 500 = است
3،000،000!)

تایپ کردن:
عملوند می توانید هر طرح رابطه دارند. طرح ارتباط حاصل معادل الحاق طرح رابطه عملوند است.
نشانه گذاری:
این بسیار محاسباتی گران است
عمل!
همچنین، گسترش حاصل است که معمولا معنی دار نیست.

جابجایی بله
انجمنی بله

اپراتورها: پروجکشن (یگانی)
معناشناسی:
درست یک رابطه جدید با از بین بردن از عملوند تمام ویژگی (و به تبع آن ارزش های خود را) که در بیان طرح ذکر نشده است.
تایپ کردن:
نوع طرح حاصل معادل طرح عملوند است اما به استثنای ویژگی در لیست ویژگی ذکر نکرده است.
نشانه گذاری:
(ATTR …، …، X1 attr_xn) پروژه (R1، attr_x1، …، attr_xn)
توجه داشته باشید:
مقادیر تکراری به طور ضمنی حذف شده!
یادداشت بیشتر:
در یک عبارت جبری را با یک رشته از پروژه های ما دو چیز در رفتن – بازسازی و دوباره گسترش! با برخی از جبری می توان این محدودیت ها غلبه کند.
جابجایی (به طور کلی) بدون انجمنی (به طور کلی) بدون
مجموعه ای حداقل از اپراتورهای
می توان آن را نشان داده است که یک زیر مجموعه از اپراتورهای ارائه شده (به طور خاص را انتخاب کنید، پروژه، اتحادیه، تفاوت و محصول) کافی، و یا کامل هستند، برای توصیف اپراتورهای دیگر (برای مثال پیوستن به، تقاطع و غیره).
استفاده انحصاری از اپراتورها از مجموعه ای کامل را به خواندن برخی از عبارات جبری طبیعی بسیار مایه می گیرد!
به عنوان مثال، اپراتور تقاطع است به این صورت:
تقاطع (R1، R2)
معادل DIFF (UNION (R1، R2)، UNION (DIFF (R1، R2)، (تفاوت (R2، R1))) است
یا معادل آن به
DIFF (R1، DIFF (R1، R2))
چرا جبر؟
به زبان ساده
مجموعه ای در دسترسی به زمان
صدا معنایی
بیان نمایش داده شد که یکی دیگر از زبان ارتباطی مدل مبتنی بر توصیف
(یعنی حساب رابطه ای خبری)
رویه ای
optimisable
پرس و جو (یک) â € “”شرکت
بازیابی سپس نام و آدرس همه کارکنان که برای â € ~Researchâ € ™ وزارت کار.
research_dept: = dname را انتخاب کنید = A € ™ € ™ Researcgâ (گروه آموزشی)؛
research_dept_emps: = dnumber را انتخاب کنید = DNO (کارمند کالا research_dept)؛
algl1: = fname پروژه، آنگاه، آدرس (research_dept_emps)؛
پرس و جو (دو) â € “”شرکت
برای هر پروژه واقع در â € ~Staffordâ € ™، لیست شماره پروژه، کنترل تعداد گروه، و managerâ بخش € ™ ثانیه آخرین نام، آدرس، و تاریخ تولد.
استافورد-_projs: = plocation را انتخاب کنید = A € ™ € ™ Staffordâ (پروژه ها)؛
Contr_dept: = انتخاب dnum-dnumber (گروه کالا Stafford_projs)؛
proj_dept_mgr: = mgrssn را انتخاب کنید = SSN (کارمند کالا contr_dept)؛
alg2: = پروژه pnumber، dnum، آنگاه، آدرس، bdate (proj_dept_mgr)؛
پرس و جو (سه) â € “”شرکت
پیدا کردن نام از کارکنان که در تمام پروژه ها توسط بخش شماره 5 کنترل کار می کنند.
Dept5_projs (PNO): = pnumber پروژه (را انتخاب کنید dnum = 5 (پروژه ها))؛ emp_proj (SSN، PNO): = essn پروژه، PNO (works_on)؛ emp_proj_ssns: = SSN پروژه (emp_proj)؛ ٪ تمام امکانات کارکنان کار بر روی پروژه dept5. Poss_emps_dept5: = (dept5_projs emp_proj_ssns کالا)؛ /٪ کارمندان که بانو € ™ ثانیه کار بر روی تمام پروژه های dept5 .. emps_not_dept5: = SSN پروژه (poss_emps_dept5 emp_proj تفاوت)؛ result_emp_ssns: = EMP emps_not_dept5 SSN ها ش تفاوت؛ alg3: = پروژه آنگاه، fname (result_emp_ssns njoin کارمند)؛
پرس و جو (چهار) â € “”شرکت
یک لیست از اعداد پروژه برای پروژه های که شامل یک کارمند که نام آخرین است â € ~Smithâ € ™، یا به عنوان یک کارگر یا به عنوان یک مدیر بخش است که کنترل پروژه می باشد.
آهنگران (essn): = SSN پروژه (را انتخاب کنید آنگاه = â € ~Smithâ € ™ (کارمند))؛
smith_worker_projs: = PNO پروژه (works_on njoin آهنگران)؛
MGRS: = آنگاه پروژه، dnumber (را انتخاب کنید SSN = mgrssn (گروه کالا کارمند))؛
smith_mgrs: = selecy آنگاه = A € ™ € ™ Smithâ (MGRS)؛
smith_managed_depts (dnum): = پروژه dnumber (smith_mgrs)؛
smith_mgr_projs (PNO): = پروژه pmumber (smith_managed_depts njoin پروژه ها)؛
alg3: = smith_worker_projs smith_mgr_projs اتحادیه.
پرس و جو (پنج) â € “”شرکت
لیست اسامی تمام کارکنان با دو یا چند وابسته.
٪ دو کپی از کارکنان با وابستگان.
Empdep1 (essn، depname1): = essn پروژه، dependent_name (وابسته)؛
empdep2 (essn2، depname2): = empdep1؛
و کارمندان با بیش از یک وابسته است.
Emps_gtone_dep (SSN): = essn1 پروژه (را انتخاب کنید (essn = essn2) و (depname1 <> depname2) (empdep1 empdep2 محصول))؛
alg5: = آنگاه پروژه، fname (کارمند njoin EMPS) gtone_dep)؛
پرس و جو (شش) – شرکت
بازیابی نام از کارکنان که هیچ وابستگی.
All_emps: = SSN پروژه (کارمند)؛ Emps_with_deps (SSN): = essn پروژه (وابسته)؛ Emps_without_deps: = (all_emps
emps_with_deps تفاوت)؛ Alg6: = آنگاه پروژه، fname
(emps_without_deps njoin کارمند)؛
پرس و جو (هفت) â € “”شرکت
لیست اسامی مدیران که حداقل یک وابسته است.
Mgrssn (SSN): = mgrssn پروژه (گروه آموزشی)؛ Emps_with_deps (SSN): = essn پروژه (وابسته)؛ Mgrs_with_deps: = (mgrssn تقاطع emps_with_deps)؛ Alg7: = آنگاه پروژه، fname
(mgrs_with_deps njoin کارمند)؛

“——————————————————————————————————————————————————

Tłumaczenie Wsparcie: http://amzn.to/1Z7d5oc
——————————————————————————————————————————————————
Algebra relacyjna
Co to jest algebra?
Algebra (al-je-wyl) rzeczownik
Matematyka
1 Uogólnienie arytmetyki, w którym symbole, zwykle litery alfabetu, cyfry lub reprezentowania członków konkretnego zbioru liczb i są związane z operacjami, które posiadają do wszystkich numerów w zbiorze.
2 Zestaw wraz z operacji określonych w planie, że posłuszeństwa wyspecyfikowane prawa.
3 Słowo wprowadzone przez arabskich matematyka al-Khwarizmi (około 900 AD) i przyniósł na łacinę przez Robert z Chester, w 1145 r.

[Middle English, ustawienie kości i włoski, algebry, zarówno z łaciny średniowiecznej, od arabskiego al-Jabr, The (nauka) zgrupowanie: al. Do + Jabra, łączenie z kością ustawienie]
Języki algebraiczne są powszechne w informatyce: Boole’a dla bramek logicznych; i algebry relacyjnej bazy danych dla DML.
Podstawowe składniki algebry to zestaw (tj operandu) i operacji (tj operatorów), które działają na wszystkich elementach zestawu.
Właściwości operatora (na przykład pod uwagę liczbę całkowitą ustawiony i operację dodawania) obejmuje: dodawanie jest przemienne ciągu liczb całkowitych od 3 + 4 = 4 + 3 (plus (3,4) == Plus (4,3)); i dodatek mówi się, że asocjacyjny przez całkowite od 3 + (4 + 5) = (3 + 4) + 5 (oraz (3, oraz (4,5)) == Plus (Plus (3,4), 5 ))).
Charakterystyka Rel. Algebra
manipuluje ona całe relacje poprzez
semantycznie jednoznaczna