El documento presenta una introducción al mercadeo, servicio al cliente y ventas, con énfasis en la planeación estratégica. Explica conceptos clave como el cliente, el mix de mercadotecnia, merchandising e inteligencia de mercados. Resalta la importancia de conocer al cliente, la competencia y el mercado objetivo para desarrollar estrategias efectivas.
Este documento describe diferentes tipos de interacciones entre fármacos y alimentos. Explica que los alimentos pueden afectar la farmacocinética de los medicamentos alterando su absorción, distribución, metabolismo y excreción. También pueden interactuar farmacodinámicamente afectando la acción del fármaco. Del mismo modo, los fármacos pueden interferir con la absorción y metabolismo de nutrientes. Se analizan ejemplos específicos de interacciones entre diferentes alimentos y medicamentos.
El documento presenta una introducción al mercadeo, servicio al cliente y ventas, con énfasis en la planeación estratégica. Explica conceptos clave como el cliente, el mix de mercadotecnia, merchandising e inteligencia de mercados. Resalta la importancia de conocer al cliente, la competencia y el mercado objetivo para desarrollar estrategias efectivas.
Este documento describe diferentes tipos de interacciones entre fármacos y alimentos. Explica que los alimentos pueden afectar la farmacocinética de los medicamentos alterando su absorción, distribución, metabolismo y excreción. También pueden interactuar farmacodinámicamente afectando la acción del fármaco. Del mismo modo, los fármacos pueden interferir con la absorción y metabolismo de nutrientes. Se analizan ejemplos específicos de interacciones entre diferentes alimentos y medicamentos.
Este documento propone una nueva visión de la profesión docente en el Perú para lograr cambios en la identidad, el saber y la práctica docente que permitan alcanzar aprendizajes fundamentales en los estudiantes. Señala que la sociedad actual demanda una educación basada en valores democráticos y respeto intercultural, con docentes capaces de preparar a los estudiantes para los desafíos del futuro. Para ello, la docencia debe enfocarse en el desarrollo de capacidades de los estudiantes más que en la mera transmis
Este documento describe la experiencia de Chile en la protección de la salud mental luego del terremoto y tsunami del 27 de febrero de 2010. Explica que los desastres pueden tener efectos negativos en la salud mental de la población afectada y que es importante abordarlos. También describe las acciones de preparación del Ministerio de Salud de Chile antes del desastre y las intervenciones realizadas durante las etapas crítica, post-crítica y de recuperación para proteger la salud mental de los afectados.
The document provides tips for writing effective error messages that do not blame the user but take responsibility, speak in plain language the user understands, specifically identify the problem, try to fix it if possible, give clear instructions, and communicate that the problem is being taken seriously. It also includes further reading on designing helpful error messages.
Gfpi f-019 guia de aprendizaje 01 tda orientar fpilisbet bravo
Este documento presenta una guía de aprendizaje para un proyecto de formación profesional integral en el Servicio Nacional de Aprendizaje (SENA) de Colombia. La guía describe las actividades de aprendizaje, los materiales requeridos, y los criterios de evaluación. El objetivo del proyecto es analizar variables contextuales que influyen en la formación profesional para desarrollar competencias acordes a las necesidades sociales y productivas.
Este documento presenta las directrices para realizar un Análisis Situacional Integral de Salud (ASIS) en Ecuador. El ASIS es una herramienta que permite caracterizar la situación de salud de una población y analizar los determinantes sociales que afectan la salud. El proceso del ASIS incluye producir un diagnóstico situacional inicial, conformar un comité local de salud, priorizar problemas, elaborar un plan local de salud, e implementar y dar seguimiento al plan. El objetivo es mejorar la gestión de salud a través de la particip
JULIOPARI - Elaborando un Plan de NegociosJulio Pari
Este documento presenta un bosquejo de curso para elaborar un plan de negocios. El curso consta de 10 secciones que explican conceptos clave como la misión, visión, objetivos, clientes, competidores y proyecciones financieras. El curso ayudará a los participantes a comprender qué es un plan de negocios y cómo crear uno efectivo para diferentes propósitos como obtener financiamiento. El bosquejo resume brevemente el contenido de cada sección con el fin de guiar a los estudiantes en la elaboración exitosa de su propio plan de neg
La presente guía tiene como finalidad orientar a los responsables del tratamiento de datos personales en la elaboración, diseño y difusión del aviso de privacidad respecto de su contenido y alcance al que refiere la Ley Federal de Protección de Datos Personales en Posesión de los Particulares, en lo sucesivo la Ley.
La guía se divide en seis grandes secciones: la primera establece las características generales de todo aviso de privacidad; la segunda orienta a los responsables para la elaboración de avisos de privacidad que cumplan con lo dispuesto por la Ley; la tercera contiene recomendaciones para el contenido del aviso de privacidad; la cuarta refiere a las medidas compensatorias que contempla la Ley en su artículo dieciocho, la quinta presenta diez consejos prácticos para la elaboración de un aviso de privacidad y la sexta presenta modelos tipo de aviso de privacidad.
1ºBACH Economía Tema 5 Oferta y demandaGeohistoria23
Este documento contiene información sobre conceptos económicos como demanda, oferta, curvas de demanda y oferta, y factores que afectan la demanda y la oferta. Incluye correos electrónicos, enlaces a blogs, tablas y gráficos explicativos. Aborda temas como la ley de la demanda decreciente, la curva de demanda individual y de mercado, y los factores que pueden causar desplazamientos o movimientos a lo largo de las curvas de demanda y oferta.
The poem is about hiding tears and sadness from a parting lover by pretending the tears are just rain. The speaker is saying goodbye but will appear unaffected because "you can't see tears in the rain." They will cry in vain and the other person will never know their pain or see that it matters to them. The rain provides cover for the speaker's true emotions as they turn the page and let go of the relationship.
Este plan de negocios describe una compañía que ofrece [PRODUCTO O SERVICIO]. Detalla el mercado, la competencia y la estrategia de marketing. El equipo de administración tiene experiencia relevante. Se requiere capital para establecer operaciones y alcanzar las metas de ventas proyectadas en los primeros años. De ser exitoso, este negocio podría [BENEFICIO FINAL].
Evidence: Describing my kitchen. ENGLISH DOT WORKS 2. SENA... ..
Evidence: Describing my kitchen. SENA.
ENGLISH DOT WORKS 2. SENA.
3. describing my kitchen. ENGLISH DOT WORKS 2.
activity 3 week 1. ENGLISH DOT WORKS 2.
actividad 3 semana 1. ENGLISH DOT WORKS 2.
Este manual describe las estrategias competitivas básicas para las empresas. Explica los componentes de la estrategia, incluidas las actividades primarias y secundarias. Luego describe varias estrategias genéricas como el liderazgo en costos, la diferenciación y la segmentación. También cubre estrategias a lo largo del ciclo de vida de la industria, estrategias de crecimiento y evaluación de la estrategia. El objetivo es ayudar a las empresas a desarrollar e implementar estrategias efectivas.
El documento presenta una introducción al manual de estudios de mercado. Explica que la investigación de mercados proporciona datos sobre el mercado para ayudar a la dirección a adoptar una orientación al mercado. Luego describe brevemente los diferentes tipos de investigación (exploratoria, descriptiva y causal) y sus objetivos respectivos. Finalmente, indica que la investigación de mercados es una herramienta poderosa para la toma de decisiones a corto y largo plazo cuya misión principal es obtener información para reducir riesgos.
Este documento propone una nueva visión de la profesión docente en el Perú para lograr cambios en la identidad, el saber y la práctica docente que permitan alcanzar aprendizajes fundamentales en los estudiantes. Señala que la sociedad actual demanda una educación basada en valores democráticos y respeto intercultural, con docentes capaces de preparar a los estudiantes para los desafíos del futuro. Para ello, la docencia debe enfocarse en el desarrollo de capacidades de los estudiantes más que en la mera transmis
Este documento describe la experiencia de Chile en la protección de la salud mental luego del terremoto y tsunami del 27 de febrero de 2010. Explica que los desastres pueden tener efectos negativos en la salud mental de la población afectada y que es importante abordarlos. También describe las acciones de preparación del Ministerio de Salud de Chile antes del desastre y las intervenciones realizadas durante las etapas crítica, post-crítica y de recuperación para proteger la salud mental de los afectados.
The document provides tips for writing effective error messages that do not blame the user but take responsibility, speak in plain language the user understands, specifically identify the problem, try to fix it if possible, give clear instructions, and communicate that the problem is being taken seriously. It also includes further reading on designing helpful error messages.
Gfpi f-019 guia de aprendizaje 01 tda orientar fpilisbet bravo
Este documento presenta una guía de aprendizaje para un proyecto de formación profesional integral en el Servicio Nacional de Aprendizaje (SENA) de Colombia. La guía describe las actividades de aprendizaje, los materiales requeridos, y los criterios de evaluación. El objetivo del proyecto es analizar variables contextuales que influyen en la formación profesional para desarrollar competencias acordes a las necesidades sociales y productivas.
Este documento presenta las directrices para realizar un Análisis Situacional Integral de Salud (ASIS) en Ecuador. El ASIS es una herramienta que permite caracterizar la situación de salud de una población y analizar los determinantes sociales que afectan la salud. El proceso del ASIS incluye producir un diagnóstico situacional inicial, conformar un comité local de salud, priorizar problemas, elaborar un plan local de salud, e implementar y dar seguimiento al plan. El objetivo es mejorar la gestión de salud a través de la particip
JULIOPARI - Elaborando un Plan de NegociosJulio Pari
Este documento presenta un bosquejo de curso para elaborar un plan de negocios. El curso consta de 10 secciones que explican conceptos clave como la misión, visión, objetivos, clientes, competidores y proyecciones financieras. El curso ayudará a los participantes a comprender qué es un plan de negocios y cómo crear uno efectivo para diferentes propósitos como obtener financiamiento. El bosquejo resume brevemente el contenido de cada sección con el fin de guiar a los estudiantes en la elaboración exitosa de su propio plan de neg
La presente guía tiene como finalidad orientar a los responsables del tratamiento de datos personales en la elaboración, diseño y difusión del aviso de privacidad respecto de su contenido y alcance al que refiere la Ley Federal de Protección de Datos Personales en Posesión de los Particulares, en lo sucesivo la Ley.
La guía se divide en seis grandes secciones: la primera establece las características generales de todo aviso de privacidad; la segunda orienta a los responsables para la elaboración de avisos de privacidad que cumplan con lo dispuesto por la Ley; la tercera contiene recomendaciones para el contenido del aviso de privacidad; la cuarta refiere a las medidas compensatorias que contempla la Ley en su artículo dieciocho, la quinta presenta diez consejos prácticos para la elaboración de un aviso de privacidad y la sexta presenta modelos tipo de aviso de privacidad.
1ºBACH Economía Tema 5 Oferta y demandaGeohistoria23
Este documento contiene información sobre conceptos económicos como demanda, oferta, curvas de demanda y oferta, y factores que afectan la demanda y la oferta. Incluye correos electrónicos, enlaces a blogs, tablas y gráficos explicativos. Aborda temas como la ley de la demanda decreciente, la curva de demanda individual y de mercado, y los factores que pueden causar desplazamientos o movimientos a lo largo de las curvas de demanda y oferta.
The poem is about hiding tears and sadness from a parting lover by pretending the tears are just rain. The speaker is saying goodbye but will appear unaffected because "you can't see tears in the rain." They will cry in vain and the other person will never know their pain or see that it matters to them. The rain provides cover for the speaker's true emotions as they turn the page and let go of the relationship.
Este plan de negocios describe una compañía que ofrece [PRODUCTO O SERVICIO]. Detalla el mercado, la competencia y la estrategia de marketing. El equipo de administración tiene experiencia relevante. Se requiere capital para establecer operaciones y alcanzar las metas de ventas proyectadas en los primeros años. De ser exitoso, este negocio podría [BENEFICIO FINAL].
Evidence: Describing my kitchen. ENGLISH DOT WORKS 2. SENA... ..
Evidence: Describing my kitchen. SENA.
ENGLISH DOT WORKS 2. SENA.
3. describing my kitchen. ENGLISH DOT WORKS 2.
activity 3 week 1. ENGLISH DOT WORKS 2.
actividad 3 semana 1. ENGLISH DOT WORKS 2.
Este manual describe las estrategias competitivas básicas para las empresas. Explica los componentes de la estrategia, incluidas las actividades primarias y secundarias. Luego describe varias estrategias genéricas como el liderazgo en costos, la diferenciación y la segmentación. También cubre estrategias a lo largo del ciclo de vida de la industria, estrategias de crecimiento y evaluación de la estrategia. El objetivo es ayudar a las empresas a desarrollar e implementar estrategias efectivas.
El documento presenta una introducción al manual de estudios de mercado. Explica que la investigación de mercados proporciona datos sobre el mercado para ayudar a la dirección a adoptar una orientación al mercado. Luego describe brevemente los diferentes tipos de investigación (exploratoria, descriptiva y causal) y sus objetivos respectivos. Finalmente, indica que la investigación de mercados es una herramienta poderosa para la toma de decisiones a corto y largo plazo cuya misión principal es obtener información para reducir riesgos.
4. views in SQL
• “view" = afgeleide relatie
– tupels worden niet expliciet opgeslagen
– maar worden berekend uit andere relaties
(= de definiërende tabellen van de view)
– met andere woorden:
de view is enkel virtueel en wordt (in principe) niet
gematerialiseerd
– kan met SELECT gebruikt worden als iedere
andere tabel!
4
5. specificeren van een view
• syntax
CREATE VIEW <viewname> [ < lijst van attribuutnamen> ]
AS <query>
V1
CREATE VIEW WORKS_ON1
AS SELECT Fname, Lname, Pname, Hours
FROM EMPLOYEE, PROJECT, WORKS_ON
WHERE Ssn = Essn AND Pno = Pnumber ;
CREATE VIEW DEPT_INFO(Dept_name,No_of_emps,Total_sal)
AS SELECT Dname, COUNT(*), SUM(Salary)
FROM DEPARTMENT, EMPLOYEE
WHERE Dnumber = Dno
GROUP BY Dname ;
5
6. gebruik van views
• queries op view: zoals bij gewone tabellen
SELECT Fname, Lname
FROM WORKS_ON1
WHERE Pname = ‘ProductX’ ;
• voordelen van views?
• eenvoudigere formulering van queries
• beveiligingsmechanisme
• gebruiker zicht op deel van gegevensbank geven
• vs. nieuwe tabel (cf. DEPT_INFO):
• geen redundantie
• steeds up-to-date
6
7. verwijderen van view
• DROP VIEW (cf. gewone tabel)
– voorbeeld:
DROP VIEW WORKS_ON1;
– geen verwijdering van tupels
7
8. twee benaderingen voor implementatie
1. query modification
– query op view wordt omgevormd tot query op
onderliggende tabellen;
– nadeel: kan tot complexe en tijdsintensieve queries leiden
2. view materialization
– tijdelijke creatie van de afgeleide (view) tabel wanneer ze
voor het eerst in een query gebruikt wordt;
– vereist ‘incremental update’: aanpassing van de
afgeleide tabel wanneer basistabellen gewijzigd worden;
– afgeleide tabel wordt automatisch verwijderd als ze een
tijd niet meer gebruikt wordt
8
9. voorbeeld van query modification
– de query QV1 op view WORKS_ON1
SELECT Fname, Lname
FROM WORKS_ON1
WHERE Pname = ‘ProductX’ ;
– wordt omgevormd tot
SELECT Fname, Lname
FROM EMPLOYEE, PROJECT, WORKS_ON
WHERE Ssn = Essn AND Pno = Pnumber
AND Pname = ‘ProductX’ ;
9
10. wijzigen van view
• view is afgeleid uit andere relaties
• wijziging moet doorgegeven worden aan andere relaties
• niet altijd mogelijk op eenduidige manier!
10
11. wijzigen van view
• View 1 basisrelatie:
– aanpassing aan view aanpassing aan basisrelatie
• View join van meerdere basisrelaties:
– welke relatie(s) aanpassen?
11
12. voorbeeld
• Wijzig PNAME van John Smith in WORKS_ON1 van 'ProductX'
naar 'ProductY’
UPDATE WORKS_ON1
SET Pname = 'ProductY'
WHERE Lname = 'Smith' AND Fname = 'John'
AND Pname = 'ProductX’ ;
• Hoe de wijziging van productnaam doorgeven aan basisrelaties?
– Is het project van naam veranderd?
– Of werkt John Smith nu aan een ander project, nl. ProductY
i.p.v. ProductX ?
12
13. UPDATE PROJECT
SET Pname = 'ProductY'
WHERE Pname = 'ProductX’ ;
UPDATE WORKS_ON
SET Pno = (SELECT Pnumber FROM PROJECT
WHERE Name = 'ProductY')
WHERE Essn = (SELECT Ssn FROM EMPLOYEE
WHERE Lname = 'Smith' AND Fname = 'John')
AND
Pno IN (SELECT Pnumber FROM PROJECT
WHERE Pname = 'ProductX') ;
sommige aanpassingen zijn zinloos:
UPDATE DEPT_INFO
SET TOTAL_SAL=100000
WHERE DNAME='Research’ ;
13
14. wijzigen van views: algemeen
• een view afgeleid uit 1 tabel kan aangepast worden als
de view een primaire sleutel of kandidaatsleutel van die
tabel bevat ( te wijzigen tupel is eenduidig bepaald)
• een view afgeleid uit meerdere tabellen is meestal niet
aanpasbaar
– indien meerdere aanpassingen mogelijk zijn, moet er een
procedure zijn om hieruit te kiezen, b.v.:
• gebruiker vragen een keuze te maken
• DBMS meest waarschijnlijke laten kiezen
• resultaten van aggregaatfuncties kunnen niet
aangepast worden
14
16. waarde IN verzameling ?
SELECT DISTINCT Pnumber
FROM PROJECT
WHERE Pnumber IN
(SELECT Pnumber
FROM PROJECT, DEPARTMENT, EMPLOYEE
WHERE Dnum=Dnumber AND …)
OR
Pnumber IN
(SELECT Pnumber
FROM …
WHERE …) ;
SELECT DISTINCT Essn
FROM WORKS_ON
WHERE (Pno,Hours) IN
(SELECT Pno,Hours
FROM WORKS_ON
WHERE Essn=`123456789’)
16
17. ALL
• vergelijking met verzameling waarden
• >, <, >=, <=, =, <>
SELECT Lname, Fname
FROM EMPLOYEE
WHERE Salary > ALL
(SELECT Salary
FROM EMPLOYEE
WHERE Dno=5)
17
18. gecorreleerde geneste queries
• geneste query is gecorreleerd als binnenste SELECT
afhankelijk is van buitenste
• de binnenste SELECT query moet voor iedere waarde
van de buitenste worden uitgevoerd
SELECT E.Lname, E.Fname
FROM EMPLOYEE AS E
WHERE E.Ssn IN
(SELECT Essn
FROM DEPENDENT AS D
WHERE E.Fname = D.Dependent_name
AND E.Sex = D.Sex)
18
19. EXISTS
SELECT Lname, Fname
FROM EMPLOYEE
WHERE EXISTS
(SELECT *
FROM DEPENDENT
WHERE Ssn=Essn)
SELECT Lname, Fname
FROM EMPLOYEE
WHERE NOT EXISTS
(SELECT *
FROM DEPENDENT
WHERE Ssn=Essn)
19
21. transacties: atomaire eenheden
• standaard is iedere statement in SQL een transactie
• wordt automatisch permanent gemaakt
• multi-statement transacties moet je zelf expliciet maken
• later veel meer over transacties, bij herstel (recovery)
21
22. START .. COMMIT
• met START begin je een transactie
• pas bij COMMIT wordt deze definitief gemaakt
START;
UPDATE ACCOUNT
SET Balance = 0
WHERE AccNumber = `123456789’ ;
UPDATE ACCOUNT
SET Balance = 100000
WHERE AccNumber = `987654321’;
COMMIT;
22
23. of ROLLBACK
• met ROLLBACK wordt huidige transactie ongedaan
gemaakt
START;
UPDATE ACCOUNT
SET Balance = 0
WHERE AccNumber = `123456789’ ;
UPDATE ACCOUNT
SET Balance = 10000
WHERE AccNumber = `987654321’;
ROLLBACK;
23
25. permissies geven
• met GRANT kun je gebruikers rechten geven
GRANT <rechten>
ON <schema, tabel, tabel(attribuutlijst)>
TO <gebruiker> ;
25
26. GRANT voorbeelden
GRANT INSERT, DELETE
ON EMPLOYEE, DEPARTMENT
TO UserX;
GRANT SELECT
ON EMPLOYEE, DEPARTMENT
TO UserY
WITH GRANT OPTION;
GRANT UPDATE
ON EMPLOYEE(Salary)
TO UserZ;
26
27. REVOKE
• met REVOKE kun je rechten weer ontnemen
REVOKE INSERT, DELETE
ON EMPLOYEE, DEPARTMENT
FROM UserX;
27
30. restricties op tabellen
• primaire sleutel: PRIMARY KEY <attrlist>
• alternatieve sleutel: UNIQUE <attrlist>
worden nagekeken bij toevoegen of wijzigen van tupels
• verwijssleutel: FOREIGN KEY <attrlist> REFERENCES <table><attrlist>
wordt nagekeken bij toevoegen of wijzigen van tupels in tabel
wordt nagekeken bij verwijderen of wijzigen van tupels in verwijzende tabel
30
31. referentiële integriteit
• Dno in EMPLOYEE verwijst altijd naar een bestaand
Dnumber in DEPARTMENT
foreign key primary key
33. referentiële integriteit
• Dno in EMPLOYEE verwijst altijd naar een bestaand
dnumber in DEPARTMENT
foreign key primary key
6 6
6
34. restricties op attribuut
• NOT NULL (automatisch voor primaire sleutels)
• DEFAULT <value>
• CHECK (voorwaarde)
Dnumber INT NOT NULL CHECK (Dnumber > 0 AND Dnumber < 21);
worden nagekeken bij toevoegen of wijzigen van attribuutwaarden
34
35. algemene restricties specificeren
• andere restricties dan sleutel-, entiteits- en referentiële
restricties opgeven: ASSERTION
• algemene vorm:
CREATE ASSERTION <name> CHECK <cond>
35
36. voorbeeld
– salaris van werknemer <= salaris van manager van dept.
waarvoor werknemer werkt
CREATE ASSERTION SALARY_CONSTRAINT
CHECK ( NOT EXISTS
( SELECT *
FROM EMPLOYEE E, EMPLOYEE M,
DEPARTMENT D
WHERE E.Salary > M.Salary
AND E.Dno = D.Dnumber
AND D.Mgr_ssn = M.Ssn) ) ;
36
37. werking
• bij creatie van een ASSERTION, wordt gecontroleerd of eraan voldaan is
• elke latere wijziging in de gegevensbank:
– slechts toegelaten indien aan de ASSERTION voldaan is
– dit kan veel extra werk vereisen!
• Voorbeeld: er moeten minstens drie werknemers per afdeling zijn.
CREATE ASSERTION NIET_MINDER_DAN_3 AS
CHECK (NOT EXISTS (SELECT e1.DNO
FROM (SELECT DISTINCT DNO FROM EMPLOYEE e1
WHERE 3 > (SELECT COUNT(*)
FROM EMPLOYEE e2
WHERE e2.DNO = e1.DNO)));
37
38. CHECK-clausule
• kan ook bij
– attribuut - definitie
– CREATE DOMAIN gebruikt worden
• domeinrestricties
• voorbeeld:
– departementsnummer kan slechts een gehele waarde tussen 1
en 20 zijn:
DNUMBER INT NOT NULL CHECK (DNUMBER > 0 AND
DNUMBER < 21);
CREATE DOMAIN D_NUM AS INTEGER
CHECK (D_NUM > 0 AND D_NUM < 21) ;
38
39. • CHECK
– wordt slechts gecontroleerd bij toevoegen of aanpassen van tupels,
slaat op attributen of tupels
– kan dus efficiënter geïmplementeerd worden
• ASSERTION
– is meer algemeen
39
40. andere mogelijkheden
• CREATE TRIGGER
• hierbij wordt de te nemen actie opgegeven wanneer
niet aan de voorwaarde is voldaan
40
42. triggers
• een trigger bestaat uit 3 delen:
• een event (bv. update van een attribuut)
• een voorwaarde (bv. een query die nagekeken wordt)
• een actie (delete, update, insert)
• syntax
CREATE TRIGGER <name>
{ BEFORE | AFTER } <event> ON <table>
FOR EACH ROW
WHEN (<cond>)
<action>
42
43. voorbeeld
CREATE TRIGGER TotalSal1
AFTER INSERT ON EMPLOYEE
FOR EACH ROW
WHEN (NEW.Dno IS NOT NULL)
UPDATE DEPARTMENT
SET Total_sal = Total_sal + NEW.Salary
WHERE Dno = NEW.Dno
43
44. elementen van triggers
• timing van uitvoering van de actie
– before
– after
– instead of
• actie kan verwijzen naar oude of nieuwe toestand van
de gegevensbank
• conditie wordt gespecificeerd in WHEN clausule
44
48. relationele calculus
• vragen stellen d.m.v. omschrijving van de
resultaatverzameling
– relationele algebra beschrijft operaties om tot het resultaat te
komen ( b.v. projecteer, ...) proceduraal
– relationele calculus beschrijft condities waaraan het resultaat
moet voldoen declaratief
• omschrijving wordt gegeven in predikatenlogica
• relationele calculus omvat
– tupelcalculus: maakt gebruik van tupelvariabelen
– domeincalculus: domeinvariabelen stellen een
attribuutwaarde voor
Waarop lijkt SQL het meest?
48
49. tupelcalculus
{ t1.A1, t2.A2, ..., tn.An | COND(t1, t2,... tn, tn+1,..., tn+m) }
– ti : tupelvariabele (niet noodzakelijk verschillend)
– Ai: attribuutnaam, horende bij de relatie ti
– COND: een voorwaarde (of “well formed formula” - WFF)
– ti links van "|" = alle variabelen die vrij voorkomen (niet gebonden
door of ) in de COND
49
50. voorbeeld
• Q_0
– Geef de geboortedatum en het adres van de werknemer (of de
werknemers) met naam ‘John Smith’
t.Fname = ‘John’
{ t.Bdate, t.Address | EMPLOYEE(t) andand
t.Lname = ‘Smith’ }
t.Fname = ‘John’ and t.Lname = ‘Smith’ }
50
51. existentiële quantor:
• Q_1
– Geef naam en adres van alle werknemers die voor het
'Research' departement werken
{ t.Fname, t.Lname, t.Address | EMPLOYEE(t)
AND (d) (DEPARTMENT(d)
AND d.Dname = 'Research’
AND d.Number = t.Dno) }
existentiële quantor: moet waar zijn voor tenminste één tuple
we vragen werknemers op waarvoor er een gerelateerd tupel
in de departement tabel bestaat met als naam ‘Research’
52. gebruik van universele quantoren
• (x) (P(x))
– waar als P(x) waar is voor elke x van het universum
– bv. (x) (x.color = “Rood”)
– betekent dat alles wat bestaat rood is
• logische implicatie
– (x) (Boot(x) (x.color = “Rood”))
– (x) IF Boot(x) THEN (x.color = “Rood”)
– Als x een boot is, dan moet de kleur rood zijn
52
53. gebruik van universele quantoren
• (x) (Boot(x) (x.color = ‘Rood’))
• (x) (Boot(x) x.color = ‘Rood’)
– X is geen boot: conditie is waar
– X is een boot: x.color=‘Rood’ moet waar zijn
53
54. voorbeeld universele quantor
• Q_6
– Geef de namen van alle werknemers zonder personen ten
laste:
{e.Fname, e.Lname |
EMPLOYEE(e) AND
( (d) ( NOT (DEPENDENT(d)) OR NOT (e.Ssn = d.Essn) ) ) }
54
55. Quantoren in SQL
• EXISTS
•
– bestaat niet:
– gebruik not ( x ): NOT EXISTS
55
56. domein relationele calculus
– Analoog aan tupelcalculus, maar variabelen verwijzen naar een
attribuutwaarde i.p.v. een heel tupel
– Vorm van query:
{ x1, ..., xn | COND (x1, x2, ..., xn+m ) }
– Voorbeeld:
• { v f | EMPLOYEE ( v, m, f, s, b, a, g, w, c, d ) }
– COND = atomen + connectoren + quantoren
• is een WWF (well formed formule)
• net als bij tupelcalculus
• atoom = R(x1,...,xn) of "xi xj" of "xi c"} met R een relatienaam,
{ <, >, =, } en c een constante
56
57. • Q_0
– Geef geboortedatum en adres van werknemer John B. Smith
{ u v | ( q) ( r) ( s) ( t) ( w) ( x) ( y) ( z)
( EMPLOYEE ( qrstuvwxyz )
AND q = 'John' AND r = 'B' AND s = 'Smith’ ) }
– praktisch worden alleen de variabelen gequantificeerd die
in een voorwaarde voorkomen:
{ u v | ( q) ( r) ( s)
( EMPLOYEE ( qrstuvwxyz )
AND q = 'John' AND r = 'B' AND s = 'Smith’ ) }
– Nog kortere vorm (constanten direct ingevuld) :
{ u v | (EMPLOYEE('John', 'B', 'Smith', t, u, v, w, x, y, z ) }
57
58. • Q_1
– Geef naam en adres van alle werknemers die voor
departement 'Research' werken:
{q s v | ( z) ( l) ( m) ( EMPLOYEE( qrstuvwxyz ) AND
( DEPARTMENT( lmno )
AND l = 'Research' AND m = z) ) }
58
59. – Q_2
• Geef voor elk project in Stafford nummer, nummer van
controlerend dept. en de managers familienaam,
geboortedatum en adres:
{i k s u v | ( j) ( m) ( n) ( t)
( PROJECT ( h i j k ) AND
EMPLOYEE ( q r s t u v w x y z )
AND DEPARTMENT ( l m n o )
AND k = m AND n = t AND j = 'Stafford' ) }
59
60. • Q_6
• Geef de namen van alle werknemers zonder personen ten laste:
{q s | ( t ) (EMPLOYEE ( q r s t u v w x y z )
AND ( NOT ( l ) (DEPENDENT ( l m n o p )
AND t = l ) ) ) }
{q s | ( t ) ( EMPLOYEE ( q r s t u v w x y z )
AND ( ( l ) ( NOT ( DEPENDENT ( l m n o p ) )
OR NOT t = l ) ) ) ) }
60